菜鸟提问,写STM32程序的时候 怎么判断某个引脚是输入还是输出呢

比如跑马灯的时候GPIO口都是设置的输出,而到了按键实验的时候IO又是设置的输入 到底怎么判断捏 我要连接一个外设的话比如传感器 io口又是咋设置的呢 谢谢

查看GPIO_Configuration(void)函数,

找到所用的管脚,共8中输入输出方式,自己对对

GPIO_InitStructure.GPIO_Mode =GPIO_Mode_AIN //模拟输入
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IN_FLOATING //悬空输入
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IPD //下拉输入
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IPU //上拉输入
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_OD //开漏输出
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_PP //推挽输出
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_AF_OD //开漏复用
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_AF_PP //推挽复用

跑马灯的话要看你是共阴极还是共阳极,共阴极推挽输出,共阳极悬空输入
传感器要看是模拟量的还是数字量的,模拟量用模拟输入,数字量用悬空输入追问

我还是糊里糊涂的 比方说485实验的时候,PG9设置的推挽输出,PA2复用推挽,PA3浮空输入 真的不明白为啥这么设置?

追答

查查485通信协议啊,485接头9个脚,2脚串行输出,3脚串行输入,自然要设置成PA2复用推挽,PA3浮空输入,具体看485接头说明书就知道了

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-11
有三种常用方式供你选择:
输入:上拉方式。
输出:推挽输出。
可输入可输出:设置为开漏输出+外部上拉电阻

由芯片控制外设,就用输出。由芯片采集外设数据,就用输入。双向的就用开漏加上拉电阻。
只提供思路,具体操作网上搜资料。本回答被网友采纳
第2个回答  2013-11-12
采集传感器的数据就是输入啊,分析处理以后要是对传感器进行控制就是输出啊,控制就是控制方向用的寄存器的名字叫做FIODIR全名是高速GPIO端口方向寄存器
相似回答