elephant00 发表于 2022-11-7 14:39

STM32单片机IO引脚配置方式

单片机引脚配置方式
方式一:直接写寄存器来配置的话,那么,看上手册,给“配置寄存器”对应的位写0或者1就可以达到目的。



elephant00 发表于 2022-11-7 14:40

方式二:调用库函数进行配置,对结构体了解


选择好GPIO_Mode之后,就要使用GPIO_Init()函数来配置,你可以打开这个配置函数,实际上也是在对“配置寄存器”进行写操作。



某个引脚功能配置方式:
1、作为普通GPIO输入
      根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时不要使能该引脚对应的所有复用功能模块。

      在引脚上没有外界干扰的情况下,上拉就是把引脚设置为高电平了,你用万用表量上拉引脚,就是高电平;下拉就是把引脚设置为低电平了,你用万用表量下拉引脚,就是低电平,也就是0V。

2、作为普通GPIO输出
      根据需要配置该引脚为推挽输出或开漏输出,同时不要使能该引脚对应的所有复用功能模块。

      设置为推挽,就是提高了引脚的输出电流能力。设置为开漏,就是提高了引脚的输入电流能力。然后还要知道,设置为开漏时,如果外部不加上拉电阻,默认输出是低电平。

3、作为普通模拟输入
      配置该引脚为模拟输入模式,同时不要使能该引脚对应的所有复用功能模块。

4、作为内置外设的输入
      根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时使能该引脚对应的某个复用功能模块。

      复用就是该引脚可以作为SPI引脚I2C引脚等其他功能的引脚。

5、作为内置外设的输出
      根据需要配置该引脚为复用推挽输出或复用开漏输出,同时使能该引脚对应的所有复用功能模块

一只眠羊 发表于 2022-11-18 00:34

之前最初学习STM32的时候,真就是寄存器弄起的,可太麻烦了

在曼谷的春 发表于 2022-11-18 01:06

其实可以看官方提供的库函数就好了,就不用研究寄存器了

她已醉 发表于 2022-11-18 01:38

你可以用cubemx来配置的啊,很方面的

将爱藏于深海 发表于 2022-11-18 02:10

我觉得现在开发一个程序都太简单了,很多都带有可视化配置操作

月亮一键变蓝 发表于 2022-11-18 02:42

用库函数就是对的,因为这样能少走很多弯路

我吃小朋友 发表于 2022-11-18 03:14

其实现在不咋用寄存器,是因为维护起来麻烦,程序不便于理解

西洲 发表于 2022-11-18 03:46

我觉得ST的生态做得很好了,就连基础配置方面弄得都挺好

捧一束彼岸花 发表于 2022-11-18 04:18

如何配置,其实看库函数中的说明就好了

风凉 发表于 2022-11-18 04:50

如果楼主有精力,其实可以看看cubemx,这个比库函数还有意思

未说出口的像你 发表于 2022-11-18 05:22

结构体属实可以,能省一些资源,而且看着清晰明了

未说出口的像你 发表于 2022-11-22 22:38

说实话,不能看寄存器,配置可太麻烦了

西洲 发表于 2022-11-22 23:10

现在自从有了cubemx, 数据手册都可以不用看了,哈哈

失物招領 发表于 2022-11-22 23:42

这IO配置就是基础,属实得好好看看

我吃小朋友 发表于 2022-11-23 00:04

其实用库函数的话,就简单多了,看注释就知道怎么使用了

将爱藏于深海 发表于 2022-11-23 00:28

ST的配置还是比较容易的,寄存器也能看懂,库函数还比较简单

故意相遇 发表于 2022-11-23 01:00

话说,寄存器操作真的能比库函数快很多吗?

风凉 发表于 2022-11-23 01:32

配置好像就这几种模式吧,还算比较好记的

白马过平川 发表于 2022-11-23 02:04

一般情况,输出大多数都是推挽输出吧,是不是?
页: [1] 2
查看完整版本: STM32单片机IO引脚配置方式