mcu的gpio口在stm32中如何控制管教输入输出

mcu的gpio口在stm32中如何控制管教输入输出,第1张

每一种MUC都有其控制I/O的方法。

STM32最常用就是利桥拦镇用库函数控制输入输出。

控制流程:初始化I/O功能 ---> 对I/O进行 *** 作

初始化函数:

void IO_Init(void){ //LED灯的接口初始化

GPIO_InitTypeDef GPIO_InitStructure

//使能GPIOB时钟,因为我们要使用GPIOB上的管脚

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE)

//我们需要使用GPIOB的管脚,但是管脚位我们使用0号,所以总来说是PB0

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0

//选择PB0管脚的功能

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP//选择IO接口工作敏粗方式为推挽输出

/*可取值

GPIO_Mode_AIN 模拟输入

GPIO_Mode_IN_FLOATING 浮空输入,采集数字信号

GPIO_Mode_IPD 下拉输入,高电平有效

GPIO_Mode_IPU 上拉输入,低电平有效

GPIO_Mode_Out_PP 推挽输出,有推动能力的输出

GPIO_Mode_Out_OD 开漏输出,无推动能力

GPIO_Mode_AF_PP 复用推挽输出,复用功能时启用

GPIO_Mode_AF_OD 复用开漏输出,复用功能时启衡此用*/

//配置IO口的输出速度,如果是输入功能,这个就不用设置了

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz //可设置IO接口速度(2/10/50MHz)

//将上面设置写入到GPIOB设置寄存器

GPIO_Init(GPIOB, &GPIO_InitStructure)

}

输入与输出函数:

STM32提供了好几种输出函数

输入主要是读引脚电平,也提供了几个函数

这些函数需要题主在学习过程中掌握,这里我只是给以一个控制流程。

*Input floating: 引脚悬空,就是没有上拉也没有下拉电阻的意思,针对外部有上拉器件使用,节省能耗,做AD输入时也宴指可以这样设置。

*Input pull-up: 芯片输入有内部有上拉电阻(电阻接VCC)

*Input pull-down: 芯片输入有内部下拉电阻(电阻接)

*Analog input: 模拟输入,用于AD,比较器输入(我理解是跟floating一样,实际我没有用到这个方式银祥嫌)

*Output open-drain: 开漏输出,类似三极管集电极引出,就是输出没有上拉电阻,要外部供电,否则输出永远是“0”

*Output push-pull: 推挽输出,输出引脚对VCC和对地各锋手有一个MOS管,输出电流较大

*Alternate function push-pull: 复用推挽输出

*Alternate function open-drain: 复用开漏输出

最后这两个功能请参考端口映射说明。

提问者评价

谢谢!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8279322.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存