1、 先找到 InitBoard()的定义
2、 修改 OnboardKeyIntEnable 的值:
OnboardKeyIntEnable = HAL_KEY_INTERRUPT_DISABLE;//失能按键中断; OnboardKeyIntEnable = HAL_KEY_INTERRUPT_ENABLE; //使能按键中断,此处使能按键 中断。
3、 按键配置函数 HalKeyConfig( OnboardKeyIntEnable, OnBoard_KeyCallback);
这个函数中失能、使能中断执行不同的代码。下面分别讲解
a)、中断失能 清除中断使能寄存器。

在 HAL_KEY_POLLING_VALUE 时间后产生一个 HAL_KEY_EVENT 事件。找到这个事件的 处理函数,如下图所示:
图 1 禁用中断的处理函数
在 HalKeyPoll();中进行按键的扫描,如果有按键按下,记录键值,并执行按键处理函数 OnBoard_KeyCallback();100ms 后再次产生HAL_KEY_EVENT 事件,相当于 100ms 轮询一 次。
b)、中断使能
注意中断使能时,如果用户是普通案件代替五向按键,不能用五向按键的宏定义,需要 自己重定义,否则会出现错误。
重定义如下: