历史上的今天
今天是:2025年06月24日(星期二)
2019年06月24日 | STM32学习笔记--按键输入实验
2019-06-24 来源:eefocus
//按键初始化函数
//特别注意:在该函数之后,JTAG将无法使用(SWD也无法使用)
//如果想JTAG仿真,可以屏蔽该函数。
//PA0.13.15 设置成输入
void KEY_Init(void)
{
RCC->APB2ENR|=1<<2; //使能PORTA时钟
GPIOA->CRL&=0XFFFFFFF0;//PA0设置成输入
GPIOA->CRL|=0X00000008;
GPIOA->CRH&=0X0F0FFFFF;//PA13,15设置成输入
GPIOA->CRH|=0X80800000;
GPIOA->ODR|=1<<13; //PA13上拉,PA0默认下拉
GPIOA->ODR|=1<<15; //PA15上拉
}
//按键处理函数
//返回按键值
//0,没有任何按键按下
//1,KEY0按下
//2,KEY1按下
//3,KEY2按下 WK_UP
//注意此函数有响应优先级,KEY0>KEY1>KEY2!!
u8 KEY_Scan(void)
{
static u8 key_up=1;//按键按松开标志
JTAG_Set(JTAG_SWD_DISABLE);
if(key_up&&(KEY0==0||KEY1==0||KEY2==1))
{
delay_ms(10);//去抖动
key_up=0;
if(KEY0==0)
{
JTAG_Set(SWD_ENABLE);
return 1;
}
else if(KEY1==0)
{
JTAG_Set(SWD_ENABLE);
return 2;
}
else if(KEY2==1)
{
JTAG_Set(SWD_ENABLE);
return 3;
}
}else if(KEY0==1&&KEY1==1&&KEY2==0)key_up=1;
JTAG_Set(SWD_ENABLE);
return 0;// 无按键按下
}
最基本的代码正确性要保证,最低级的错误不要犯。基础的构造,比如:库函数的路径的添加,函数的初始化问题等等
史海拾趣
|
本文介绍了 GPS RTK的工作原理和RTK系统的组成,并阐述了流动站工作范围与RTK定位精度的关系,对RTK的初始化过程、RTK相对于静态定位增加的设备及应用、基准站与流动站信号传输过程作了详细的说明。 引言 随着我国经济的高速发展,为了 ...… 查看全部问答> |
|
我很笨,就会画一些直观的图来说明问题。下面的图是我的理解,电流从+5V处一直流入P0口,1处的限流电阻需要多大呢?2处有前辈说也用限流电阻我就不懂了,P2口和9012之间,不就是给一个导致9012导通的低电平信号么?如果还加电阻,为何用处,需要多 ...… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 08:58 编辑 电动小车的循迹 [ 本帖最后由 fqegeeer 于 2009-8-10 14:59 编辑 ] … 查看全部问答> |
|
很多人抱怨这本书没有答案,本人贡献出此书的答案及详解。 自己对自己做一个评估吧 [ 本帖最后由 madokaaukawa 于 2009-10-16 00:14 编辑 ]… 查看全部问答> |
|
废话先不多说,先上全部程序: 打点函数,用proteus仿真结果让我郁闷,都不知道错在哪。 #include #define DataPort P2 //数据端口 sbit E ...… 查看全部问答> |
|
我在wince5.0里来了一个中断就执行下面的语句: QueryPerformanceCounter(&uCurrentTick); RETAILMSG(IR_DEBUG_MSG,(TEXT(\"The uCurrentTick Time is:%x\\r\\n\"),uCurrentTick.QuadPart)); 为什么每次输出的值都是一样的啊?请各位好汉指点 ...… 查看全部问答> |
|
MAX1578 特点: 不具备适配器电源与电池电压自动切换功能。 但充电电路比较简单。 MAX17005B 特点: 使用 N 沟道 MOSFET 自动电源切换。 结论:还是使用MAX17005B 比较好。… 查看全部问答> |
|
/***************************************************程序功能:IO口模拟串口 时钟是30K的,波特率9600工作起来有时候稳定,有时候全是乱码,麻烦各位高手了。---------------------------------------------------测试说明:在串口助手中 ...… 查看全部问答> |




