本人以前学过51单片机,知道ARM这个东西后一直向往,最近终于入手一块“战舰V3 精英板”(买板子的时候,没注意看板子资源,看到“精英”二字,以为是STM32F103ZET6板子里面最牛的,而且看价格还不是最贵的,果断买了精英板),经过几天的C语言学习、keil安装及使用学习、Jlink使用学习、工程模板(基于固件库)建立……我的STM32学习终于走上正轨。之前听过别人分享如何学习STM32,其中强调了一点,就是加入一个论坛,在论坛中跟大家一起学习,共同进步,于是今天就开贴(以前水过,从来没发过贴),从零开始学习STM32(以前学过51,但是没了解过STM32,不知道算不算从零开始),记录我的学习历程,记录一个系统性地学习STM32的过程,以求跟坛友共同进步,同时以后传递给别人准备学STM32的人一些经验。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
谢谢,正在狂补理论中,等编下一个程序的时候继续更新,当然看书的总结也会更新,记录我的学习历程;
我好像理解你的意思了,我把它改成这样吧?
[mw_shl_code=applescript,true]// 按键处理函数:读取按键状态,并返回键值
// 参数含义:
// mode:SINGLE_TRIGGER,单次触发,不支持连按;CONTINUE_TRIGGER,支持连续按;
// 返回值含义:
// 0: 没有任何按键按下
// KEY0_PRESS: KEY0按下
// KEY1_PRESS: KEY1按下
// WKUP_PRESS: WK_UP按下
// 备注:响应优先级: KEY0>KEY1>WK_UP
u8 KEY_Scan(u8 mode)
{
static u8 key_up=1; //按键按松开标志
if(mode)
key_up=1; //支持连按
if(key_up&&(KEY0==0||KEY1==0||WK_UP==1)) // 有键按下
{
delay_ms(10);//去抖动
if(KEY0==0) // 键0按下
{key_up=0;return KEY0_PRESS;}
else if(KEY1==0) // 键1按下
{key_up=0;return KEY1_PRESS;}
else if(WK_UP==1) // 键WK_UP按下
{key_up=0;return WKUP_PRESS;}
}
else if(KEY0==1&&KEY1==1&&WK_UP==0) // 无键按下
key_up=1; // 无键按下,即按键松开
return 0; // 无按键按下
}
[/mw_shl_code]
嗯嗯,就是这个意思
一周热门 更多>