1) 浮空輸入(默認狀態):GPIO_Mode_IN_FLOATING: 引腳自身視為開路,電平由外部電路決定,不能輸出;
2) 上拉輸入:GPIO_Mode_IPU:與浮空輸入類似,但當外部電平不確定時,會被拉至高電平;
3) 下拉輸入:GPIO_Mode_IPD:與浮空輸入類似,但當外部電平不確定時,會被拉至低電平;
4) 模擬輸入:GPIO_Mode_AIN: 用作內部AD采樣腳;
5) 通用開漏輸出:GPIO_Mode_OUT_OD: 輸出0為低電平,輸出1為高阻態,電平由外部電路決定,可以讀出引腳狀態;
6) 通用推挽輸出:GPIO_Mode_OUT_PP:輸出0為低電平,輸出1為內部電源電平(3.3V);
7) 復用開漏輸出:GPIO_Mode_AF_OD: 由復用外設控制輸出,效果與通用開漏輸出一致;
8) 復用推挽輸出:GPIO_Mode_AF_PP:由復用外設控制輸出,效果與通用推挽輸出一致;
一共是四種輸出四種輸出方式,前四個是輸入模式、后四個是輸出模式。
通用和復用的區別:通用就是IO口的普通用法、復用就是IO口的特殊用法,比如RX 、IIC(SCL) 、SPI(SIMO)。

