分享

STM32单片机I/O口初探

 岐岐feng 2018-04-14

在STM32单片机中,要想使用外设首先要开启其时钟。例如我们要使用单片机的GPIOA那么首先我们需要开启GPIOA的对应时钟,完后我们才能对GPIOA端口进行配置。那么GPIOA的时钟该依据什么配置呢?STM32单片机有个时钟树,我们可以通过时钟树看GPIOA挂载那个时钟树上完后进行对应的配置。

STM32单片机I/O口初探

STM32时钟树

通过上面的时钟树图我们可以看到STM32单片机的ADC,USART、GPIOABCDEF等外设都挂载在APB2总线上,所以我们在配置时钟的时候只需要如下图配置即可。

STM32单片机I/O口初探

开启GPIOA端口时钟

通过上图我们就打开了GPIOA端口的时钟。接下来我们就开始配置端口了,所谓配置端口就是你想要把GPIOA的哪个引脚配置成输入或者是输出。

STM32单片机I/O口初探

端口配置

通过上述配置我们就将GPIOA的端口1配置成了输出。接下来我们就可以用STM32库函数

STM32单片机I/O口初探

GPIO库函数

在GPIO库函数中包含了对IO操作的所有函数,我们直接使用就可以。打开GPIO.H一直下啦到底我们可以看到如下函数。

STM32单片机I/O口初探

API函数

其中void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);函数用来将端口拉高也就是输出高电平1

例如: GPIO_SetBits(GPIOA, GPIO_Pin_1);这样我们就将GPIOA1端口置为高电平。同样GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 用来将端口置为低电平。同样我们将GPIOA端口设置为低电平:GPIO_ResetBits(GPIOA,GPIO_Pin_1);是不是省去了复杂的寄存器配置。让开发变得简单了许多。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多