stm32 中设置PA口为上拉输入接按键,这个程序为什么不行
#defineKEY1PAin(1)//PA1#defineKEY2PAin(2)//PA2#defineKEY3PAin(3)//PA3#defineKEY4PAin(...
#define KEY1 PAin(1) //PA1
#define KEY2 PAin(2) //PA2
#define KEY3 PAin(3) //PA3
#define KEY4 PAin(4) //PA4
#define KEY5 PAin(5) //PA5
#define KEY6 PAin(13) //PA13
#define KEY7 PAin(15) //PA15
void KEY_Init(void)
{
RCC->APB2ENR|=1<<2; //使能PORTA时钟
GPIOA->CRL&=0XFF00000F;//PA1-5设置成输入
GPIOA->CRL|=0X00888880;
GPIOA->CRH&=0X0F0FFFFF;//PA13,15设置成输入
GPIOA->CRH|=0X80800000;
GPIOA->ODR|=1<<1; //PA1上拉
GPIOA->ODR|=1<<2; //PA2上拉
GPIOA->ODR|=1<<3; //PA3上拉
GPIOA->ODR|=1<<4; //PA4上拉
GPIOA->ODR|=1<<5; //PA5上拉
GPIOA->ODR|=1<<13; //PA13上拉
GPIOA->ODR|=1<<15; //PA15上拉
} 展开
#define KEY2 PAin(2) //PA2
#define KEY3 PAin(3) //PA3
#define KEY4 PAin(4) //PA4
#define KEY5 PAin(5) //PA5
#define KEY6 PAin(13) //PA13
#define KEY7 PAin(15) //PA15
void KEY_Init(void)
{
RCC->APB2ENR|=1<<2; //使能PORTA时钟
GPIOA->CRL&=0XFF00000F;//PA1-5设置成输入
GPIOA->CRL|=0X00888880;
GPIOA->CRH&=0X0F0FFFFF;//PA13,15设置成输入
GPIOA->CRH|=0X80800000;
GPIOA->ODR|=1<<1; //PA1上拉
GPIOA->ODR|=1<<2; //PA2上拉
GPIOA->ODR|=1<<3; //PA3上拉
GPIOA->ODR|=1<<4; //PA4上拉
GPIOA->ODR|=1<<5; //PA5上拉
GPIOA->ODR|=1<<13; //PA13上拉
GPIOA->ODR|=1<<15; //PA15上拉
} 展开
1个回答
迪凯特科技(北京)有限公司
2023-07-28 广告
2023-07-28 广告
单片机串口通信数据丢失的原因可能如下:1. 按键通过串口发送对应命令,第一次按按键串口发送的指令正确且能把数据正确的显示出来,在第二次按按键串口发送的指令出现丢失的状况,可能是因为串口通信的波特率设置不正确。2. 如果单片机和外部设备的波特...
点击进入详情页
本回答由迪凯特科技(北京)有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询