探索者F407原子IIC例程中应答函数的疑问

2019-07-20 23:44发布

如题,在看探索者stm32F407原子的IIC的例程中,对如下红 {MOD}方框中的这个函数有些疑惑,还请各位帮忙解疑。谢谢。
1.jpg
我想不明白的是,应答信号是由接收器产生的。那么应该是接收器发出应答信号。
可是在myiic.h的文件中,定义的是PB9是SDA_IN()和SDA_OUT().
[mw_shl_code=applescript,true]//IO方向设置
#define SDA_IN()  {GPIOB->MODER&=~(3<<(9*2));GPIOB->MODER|=0<<9*2;}        //PB9输入模式
#define SDA_OUT() {GPIOB->MODER&=~(3<<(9*2));GPIOB->MODER|=1<<9*2;} //PB9输出模式[/mw_shl_code]
所以,按照我的理解,如上图红 {MOD}方框中的这个地方,应该是SDA_IN()才对吧
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
jiutianshenjian
2019-07-21 03:45
本帖最后由 jiutianshenjian 于 2016-1-27 11:04 编辑

对这个in和out没怎么看懂。应该就是gpio的输入和输出模式吧?

1.这两个都是主机作为接收时发出给从机的应答,既然是发出,当然是out。

2.如果主机发送数据,从机接收,则由从机向主机发ack,此时就是主机等ack进来,那就得是in吧?就是那个waitack函数了。

一周热门 更多>