(八)arm裸机开发---定时器实现按键消抖

    本节使用定时器实现按键的消抖,之前一直使用的是空指令实现定时函数。空指令非常浪费CPU的性能,远不如使用定时器。最终实现的效果还是按下key就打开蜂鸣器,再按一下就关闭蜂鸣器。
    可以看作是前面几节内容的一个合并。

定时器实现消抖

#include "bsp_key_filter.h"

/*初始化外部中断,也就是GPIO1_IO18*/
void key_filter_init(){
   
    /*gpio初始化*/
    _gpio_pin_config_t key_config;
    IOMUXC_SetPinMux(IOMUXC_UART1_CTS_B_GPIO1_IO18 ,0);         //设置复用功能
    IOMUXC_SetPinConfig(IOMUXC_UART1_CTS_B_GPIO1_IO18,0xf080);  //设置电器属性
    key_config.direction = kGPIO_INPUT;                         //设置输入输出
    key_config.output_value = 1;                                //输出值
    key_config.interrupt_mode = kGPIO_IntFallingEdge;           //设置中断方式
    gpio_init(GPIO1,18,&(key_config));                          //配置GPIO

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值