电脑的键盘长什么样的"·"得长按才有反应

联想电脑电脑的键盘长什么样不方便使用了 我的电脑的键盘长什么样打不上字 只有个别健方便使用 只有长按字母健才能打出字 求大神指导

2:stm32外部中断配置

1:本篇利用按键Φ断输入方式当按键触发,中断处理函数置按键扫描标志位为1开始按键键值扫描,完成后主程序根据键值(短按、长按、双击),完成楿应的动作;

2:当K1按键短按:LED1闪烁;当K1按键长按LED2闪烁;当K1按键双击,LED3闪烁;

3:优点:相比于轮询扫描按键键值的方式按键响应速度更赽,节约CPU资源;

4:参考资料:stm32中文参考手册(EXIT的有关说明)、Cortex-M3权威指南(NVIC的有关说明)

stm32外部中断配置

设置中断优先级之前一定要设置中断分組,本代码中有sysclk中断和按键外部中断设置中断中断分组为2,2位主优先级和2位次优先级需设置内部sysclk中断的优先级高于按键中断的优先级,内部中断使用NVIC_SetPriority()函数设置具体函数参考core_cm3.h文件,外部中断优先级在NVIC_Init()函数中设置;

2:完成外部中断线路映射

3:NVIC寄存器初始化

完成对应中断的使能和优先级设定使用 NVIC_Init()库函数完成初始化。注意:一定要给NVIC_InitStructure结构体的成员赋值因为NVIC_InitTypeDef结构体是在函数内部定义的,并且没有赋初值如果不设置的话,结构体中的成员使用编译器默认的初值有可能会出现错误,因为中断优先级很重要如果按键中断的优先级高于sysclk中断,按键处理函数中的按键防抖会死循环具体见下面程序;

4:EXIT寄存器初始化

使能响应的外部中断,并且设置中断的触发方式使用EXTI_Init()函数完成初始化;

5:程序进行了2次防抖,一次是在按键中断处理函数中一次是在主程序按键扫描中;

/*记录按键按下时间 时间小于1.5S,按键为短按;時间大于1.5S按键为长按*/ /*记录两次短按之间的时间间隔*/ /*定义按键键值结构体*/ /*K1按键短按标志位*/ /*K1按键双击标志位*/ /*led1闪烁时间标志位,主函数检测到此标志位为1时led1开始闪烁,否则结束闪烁*/ /*3个led全部闪烁标志位,主函数检测到此标志为1时三个led灯开始同时闪烁,否则结束闪烁*/ /*流水灯事件标志位*/ /*按键中断初始化*/ /*完成外部线路映射*/ /*按键中断处理函数*/ /*按键事件处理函数 根据键值 进行相应的事件处理*/

我要回帖

更多关于 电脑的键盘长什么样 的文章

 

随机推荐