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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了菜鸟提问,写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接头说明书就知道了

参考技术A 有三种常用方式供你选择:
输入:上拉方式。
输出:推挽输出。
可输入可输出:设置为开漏输出+外部上拉电阻。

由芯片控制外设,就用输出。由芯片采集外设数据,就用输入。双向的就用开漏加上拉电阻。
只提供思路,具体操作网上搜资料。
参考技术B 采集传感器的数据就是输入啊,分析处理以后要是对传感器进行控制就是输出啊,控制就是控制方向用的寄存器的名字叫做FIODIR全名是高速GPIO端口方向寄存器

stm8s 引脚电平异常

特别注意:

  1.有iic 的引脚为了兼容电平,一般来说都是可忍受电平,同时该引脚也将被去除推挽输出和强输出能力,甚至是上拉,使用时候特别注意,这种引脚在stm8上非常常见

  2.stm引脚对电平不匹配非常敏感,如果电平不匹配将导致各种问题,比如强行使用工作在3.3V电压下的stm8与5V器件对接,除了个别特殊引脚,其他的引脚可能导致异常电平。

 

以上是关于菜鸟提问,写STM32程序的时候 怎么判断某个引脚是输入还是输出呢的主要内容,如果未能解决你的问题,请参考以下文章

STM32共用中断线的外部中断引脚的判断

STM32中的NRST引脚是干吗的,有啥作用,怎么接外设

stm32引脚模拟IIC读写atmel 24C128,我是初级菜鸟,哪位大神可以赐教

怎么使stm32的蜂鸣器发出1kHz频率的声音?程序怎么写?

STM32单片机SPI问题

STM32最小系统,的引脚怎么看?