STM32按键和LCD1602初始化代码解析
此程序的作用是初始化按键和LCD1602的控制引脚,使得按键可以被检测,LCD1602可以进行数据的输入输出。具体操作包括:
-
打开GPIOB外设时钟使能,允许使用该外设。
-
配置GPIOB的Pin12、Pin13、Pin14为输入模式,启用上拉电阻。
-
配置GPIOB的Pin9为输出模式,初始化输出低电平。
-
设置GPIOB的Pin9输出速率为50MHz。
-
完成GPIOB的初始化,将LCD1602的RS、RW、EN引脚配置为输出模式,并输出低电平。
void Key_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//ʹÄÜPAʱÖÓ
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOB,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; // LCD1602 RS-RW-EN?
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //ÍÆÍìÊä³ö
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //Êä³öËÙ¶È50MHZ
GPIO_Init(GPIOB, &GPIO_InitStructure); //GPIOC
GPIO_ResetBits(GPIOB, GPIO_Pin_9);
}
代码解读:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE):使能GPIOB外设时钟,允许访问GPIOB端口。GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14:配置GPIOB的Pin12、Pin13、Pin14为按键输入引脚。GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU:将Pin12、Pin13、Pin14设置为输入模式,并启用上拉电阻。GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9:配置GPIOB的Pin9为LCD1602的控制引脚。GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP:将Pin9设置为推挽输出模式。GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz:设置Pin9的输出速度为50MHz。GPIO_ResetBits(GPIOB, GPIO_Pin_9):初始化Pin9为低电平。
通过以上步骤,完成了按键和LCD1602的控制引脚初始化,使程序能够正常使用按键并控制LCD1602进行数据的输入输出。
原文地址: https://www.cveoy.top/t/topic/nRnh 著作权归作者所有。请勿转载和采集!