初级会员

- 积分
- 107
- 金钱
- 107
- 注册时间
- 2016-1-22
- 在线时间
- 19 小时
|
发表于 2016-3-9 20:40:13
|
显示全部楼层
好早之前就遇到这个疑问,但个人理解F4里IO的模式只有这四种
GPIO_Mode_IN = 0x00, /*!< GPIO Input Mode */
GPIO_Mode_OUT = 0x01, /*!< GPIO Output Mode */
GPIO_Mode_AF = 0x02, /*!< GPIO Alternate function Mode */
GPIO_Mode_AN = 0x03 /*!< GPIO Analog Mode */
在这里我们用的是GPIOA0的复用模式,而复用模式功能配置输入的时候步骤是这样的
对 I/O 端口进行编程作为复用功能时:
● 可将输出缓冲器配置为开漏或推挽
● 输出缓冲器由来自外设的信号驱动(发送器使能和数据)
● 施密特触发器输入被打开
● 根据 GPIOx_PUPDR 寄存器中的值决定是否打开弱上拉电阻和下拉电阻
● 输入数据寄存器每隔 1 个 AHB1 时钟周期对 I/O 引脚上的数据进行一次采样
● 对输入数据寄存器的读访问可获取 I/O 状态
也就说IO口复用功能时输出缓冲器必须被配置要么推完要么开漏,这并不影响后面两步输入数据寄存器对IO口引脚上的数据的采样啊 等等。
不知道我讲明白了没有。 |
|