[求助] 811的板子 GPIO怎么设置才可以既当做输入又可以当做输出

jinghong21   2011-8-27 18:33 楼主

GPIO怎么设置才可以既当做输入又可以当做输出?

我的PB口在写给芯片数据的时候需要时输出模式,读芯片数据的时候需要输入模式,请问怎么设置才能这样使用呢。

[ 本帖最后由 jinghong21 于 2011-8-28 12:32 编辑 ]

回复评论 (7)

在读写的时候,配置GPIO的模式。函数参考:
GPIOPinTypeGPIOOutput(GPIO_PORTB_BASE, GPIO_PIN_3);
GPIOPinTypeGPIOInput(GPIO_PORTB_BASE, GPIO_PIN_3);
点赞  2011-8-29 09:01
不行
点赞  2011-9-10 00:41
楼主的意思是双向的?你可以在要往外写的时候设置为输出,往里读得时候设置为输入。。。同时双向好像不行,又不是总线。。。
https://bbs.eeworld.com.cn/thread-471646-1-1.html 欢迎加入我的团队
点赞  2011-9-12 20:19
同时双向确实不行,需自己编程做切换,代码参加2楼
点赞  2011-9-13 09:37
如果LZ需要缩短两者之间的切换时间,可以适当MCU频率。
点赞  2011-9-13 20:39

引用: 原帖由 jinghong21 于 2011-8-27 18:33 发表 GPIO怎么设置才可以既当做输入又可以当做输出?我的PB口在写给芯片数据的时候需要时输出模式,读芯片数据的时候需要输入模式,请问怎么设置才能这样使用呢。

 

习惯了8051的人,都有这种疑惑的吧。

一开始的时候,我也觉得很不习惯,8051用IO模拟IIC,都不用管IO方向的,用AVR、TI M3那些,操作了一下,又得注意模拟引脚SDA的方向。

点赞  2011-9-16 10:38

回复 楼主 jinghong21 的帖子

lz要注意PB7这个引脚,要是硬件上没有上拉,直接调用库函数有可能拉不高
点赞  2011-9-16 13:07
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复