菜鸟提问,写STM32程序的时候 怎么判断某个引脚是输入还是输出呢
比如跑马灯的时候GPIO口都是设置的输出,而到了按键实验的时候IO又是设置的输入到底怎么判断捏我要连接一个外设的话比如传感器io口又是咋设置的呢谢谢...
比如跑马灯的时候GPIO口都是设置的输出,而到了按键实验的时候IO又是设置的输入 到底怎么判断捏 我要连接一个外设的话比如传感器 io口又是咋设置的呢 谢谢
展开
3个回答
展开全部
查看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 //推挽复用
跑马灯的话要看你是共阴极还是共阳极,共阴极推挽输出,共阳极悬空输入
传感器要看是模拟量的还是数字量的,模拟量用模拟输入,数字量用悬空输入
找到所用的管脚,共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接头说明书就知道了
展开全部
采集传感器的数据就是输入啊,分析处理以后要是对传感器进行控制就是输出啊,控制就是控制方向用的寄存器的名字叫做FIODIR全名是高速GPIO端口方向寄存器
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询