qintian0303 发表于 2024-12-6 21:39

【RL78-G15】02 按键采集(中断方式)

       接下来我们实现一下按键的采集,按键的采集包括轮询方式和中断方式,轮询实际上是GPIO状态的采集,而中断实际上是外部中断的处理。
       我们先看一下按键的原理图部分:
   

       由上图可以看出用户按键连接的引脚是P137,同时按键采用的是上拉的方式,即按键按下的时候引脚为低电平,对于中断触发方式来说就是下降沿触发。
       接下来我们就实现按键对LED1的控制,每按一下翻转一次,LED2继续实现阻塞式翻转。
       硬件配置:
   

       图形化直接选择,其他相关硬件部分都会自动配置好;
       软件配置:
   

       添加中断INTP0并配置为下降沿触发;
       查看一下整个工程的代码,会发现它已经把整个外设的框架都做好了,初始化函数也自动调用了,但是外部中断并没有正式启动。调用启用中断-- R_Config_INTC_INTP0_Start ()。
       然后再中断服务函数中添加控制代码:
void r_Config_INTC_intp0_interrupt(void)
{
    /* Start user code for r_Config_INTC_intp0_interrupt. Do not edit comment generated here */
    PIN_WRITE(2,0) = ~PIN_READ(2,0);
    /* End user code. Do not edit comment generated here */
}
       效果如下:



页: [1]
查看完整版本: 【RL78-G15】02 按键采集(中断方式)