如何从单片机平台编写GPIO口程序

发布时间: 2024-07-15
来源: 电子工程世界

单片机平台编写 GPIO 口程序,以 STM32F103 为例,有三种模式:库函数、HAL库、寄存器。


使用库函数的方式操控 GPIO 方式如下:


void LED_Init(void)

{

    GPIO_InitTypeDef GPIO_InitStructure;


    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//使能 PB 端口时钟


    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;

    //PB5 端口配置

    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出

    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO 口速度

    GPIO_Init(GPIOB, &GPIO_InitStructure); //根据设定参数初始化 GPIOB.5

    GPIO_SetBits(GPIOB,GPIO_Pin_5); //PB.5 输出高

}


上述代码就是使用库函数来初始化 STM32 的一个 IO 为输出功能,可以看出上述初始化代码中重点要做的事情有一下几个:


①、使能指定 GPIO 的时钟。


②、初始化 GPIO,比如输出功能、上拉、速度等等。


③、STM32 有的 IO 可以作为其它外设引脚,也就是 IO 复用,如果要将 IO 作为其它外设引脚使用的话就需要设置 IO 的复用功能。


④、最后设置 GPIO 输出高电平或者低电平。


STM32 的 GPIO 初始化就是以上四步,使用库函数操作 GPIO 还是很简单的。但是我们知道 STM32F1 系列是有库函数的,但是 STM32F7 系列就没有库函数了,ST 公司没有出,STM32F7 只有 HAL 库和寄存器两种操作方式。


文章来源于: 电子工程世界 原文链接

本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。