基于STM32GPIO口使用的主要流程和注意事项
本文介绍了STM32 GPIO口的操作步骤:1)开启GPIO时钟;2)初始化外设和GPIO口(设置模式、引脚、频率);3)使用输入/输出函数控制。通过A0口点亮LED的代码示例,演示了具体实现过程,包括推挽输出配置和电平控制。注意事项包括硬件连接检查(LED极性识别、孔位确认)、软件配置一致性(GPIO口定义统一)。文章还提供了标准工程模板下载路径,建议初学者复制模板后修改main函数即可快速建立
·
一、操纵STM32的GPIO口步骤
1、使用RCC开启GPIO的时钟;
2、使用GPIO_Init函数初始化外设和GPIO口:包含定义外设、设置输出模式、引脚、频率;
3、使用GPIO相关的输入或者输出函数控制GPIO口。
二、初始化外设案例
利用A0口点亮一盏LED灯。
#include "stm32f10x.h" // Device header
#include "Delay.h"
int main(void)//操纵stm32的GPIO总共需要三个步骤
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//1、使用RCC开启GPIO的时钟(GPOA是因为灯装在了A口)
GPIO_InitTypeDef aaa;
aaa.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出(高低电平都驱动能力强);Out_OD开漏输出,低电平有驱动能力
aaa.GPIO_Pin = GPIO_Pin_2;//A2号引脚
aaa.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&aaa);//2、使用GPIO_Init初始化外设/GPIO
//GPIO_ResetBits(GPIOA,GPIO_Pin_2); //3、使用输出或者输入函数控制GPIO口(此处设置输出口为低电平,点亮)
//GPIO_WriteBit(GPIOA,GPIO_Pin_2,Bit_RESET);//(写入低电平,一直输出)
while(1)
{
GPIO_ResetBits(GPIOA,GPIO_Pin_2);//响
Delay_ms(300);
GPIO_SetBits(GPIOA,GPIO_Pin_2);//不响
Delay_ms(300);
GPIO_ResetBits(GPIOA,GPIO_Pin_2);//响
Delay_ms(300);
GPIO_SetBits(GPIOA,GPIO_Pin_2);//不响
Delay_ms(1000);
}
}
三、注意和易错事项
1、如果单片机安装到面包板过程中较为费劲,可以使用杜邦线公线头捅进去进行阔开。
2、LED灯如果引脚没有剪断的话,短引脚为负,极长引脚为正极,如果不确定,可以透过灯泡看里面二极管,较大的一侧为负极,较小的一侧为正极。
3、连接好硬件电路之后,一定要反复确认面包网上锁插对应元件孔位是否正确。
4、确认软件程序中的GPIO口定义一致,切不可出现,前面使用GPIOA,后面使用GPIOB的情况。
四、标准工程模板
由于STM32建立工程较为繁琐,为了方便我提供免费工程模板供大家使用。
下载路径:https://download.csdn.net/download/m0_73164187/91950314?spm=1001.2014.3001.5501
在使用时,只需要把我的工程模板复制到对应的工程存放路径,完成魔术棒和彩色箱子配置后,在user文件夹下的main函数进行更改操作,建立工程即可。
同为初学者,欢迎大家交流学习!!
更多推荐
所有评论(0)