初级会员

- 积分
- 88
- 金钱
- 88
- 注册时间
- 2015-5-26
- 在线时间
- 0 小时
|
5金钱
#include "key.h"
#include "delay.h"
void keyinit()
{
RCC->APB2ENR|=(1<<2); //开PA使能
GPIOA->CRH|=0X80800000; //设置PA13,15为输入,上拉/下拉模式
GPIOA->ODR&=0X5FFF; //初始化PA13,15
GPIOA->ODR|=0XA000; //设置PA13,15上拉输入
GPIOA->CRL|=0X00000008; //设置PA0为输入,上拉/下拉模式 PA0默认下拉
}
void keyscan()
{
uint8_t num;
if(!(GPIOA->IDR&(0X8000))) //PA15 KEY1
{
delay_ms(10);
if(!(GPIOA->IDR&(0X8000)))
GPIOD->ODR=~GPIOD->ODR; //LED
while(!(GPIOA->IDR&(0X8000)));
}
else if(!(GPIOA->IDR&(0X2000))) //PA13 KEY0
{
delay_ms(10);
if(!(GPIOA->IDR&(0X2000)))
GPIOC->ODR=~GPIOC->ODR; //LED
while(!(GPIOA->IDR&(0X2000)));
}
else if(GPIOA->IDR&(0X0001)) //PA0 KEY2
{
delay_ms(10);
if(GPIOA->IDR&(0X0001))
{
GPIOA->ODR=~GPIOA->ODR; //LED
}
while(GPIOA->IDR&(0X0001));
}
}
为什么PA 0不好使了?上拉都好使,就是PA0下拉不好使,按与没按感觉都一样,求大神指点
|
|