一、GPIO主要特点
主要特征 :
1、输入模式
⚫ 模拟输入
⚫ 浮空输入
⚫ 上拉输入
2、 输出模式
⚫ 推挽输出
⚫ 开漏输出
⚫ 可配置最大输出速率
3、复用功能
4、GPIO 都可以作为外部中断/唤醒线
二、GPIO构造区别对比
F003 GPIO内部构造图
F030 GPIO内部构造图

1、从两张图片可以清晰的,F003缺少下拉电路,因此无法下拉输入,从端口控制寄存器也可以看到,输入模式只能选择浮空输入和上拉输入。

2、输出功能到输出控制,F003缺少选择器,因此在将GPIO配置为其他外设时,没有复用选择设置寄存器。外设模块的输出会直接到端口输出寄存器上,可理解为外设的优先级更高。


3、速度配置:通过配置 GPIOx_CTRL2 寄存器选择输出速度最大为 2MHz 或 10MHz。因此如果要使用模拟串口或者其他通讯协议时,需要注意IO翻转速度会限制模式通讯频率。
三、特殊GPIO使用注意事项
从数据手册中我们可以看到PB4、PB5是纯开漏输出,因此在需要对外输出高电平时,需要外部加上拉电阻,同样在配置为串口和IIC功能时也需要加外部上拉电阻。

复位之后,除了调试接口 PD1 和 PD2,所有的引脚都是浮空输入模式。复位后,调试引脚 PD1 和 PD2 被置为复用功能,其中 PD1 为上拉模式。当关闭调试功能后,作为普通的 GPIO 引脚。建议如果要将PD1和PD2设置为其他功能时,建议不要在上电初始化时就更改掉,防止后续无法再下载程序。
四、总结
F003做为32位入门级别M0,在使用方式上偏向于8位MCU,精简了很多功能寄存器。同时有部分需要特殊注意的IO端口PB4、PB5、PD1和PD2,在使用的时候要注意。