更新日期:2019-11-19
蜂鸣器控制例程
本例程主要功能为使用按键控制蜂鸣器,KEY1 按键通过中断的方式控制蜂鸣器鸣叫。
#include<rtthread.h> #include<rtdevice.h> #include"board.h" #define DBG_TAG"main" #define DBG_LVLDBG_LOG #include<rtdbg.h> voidbeep_ctrl(void *args) { if(rt_pin_read(PIN_KEY1) == PIN_LOW) { rt_pin_write(PIN_BEEP, PIN_HIGH); LOG_D("KEY1 pressed. beepon"); } else { rt_pin_write(PIN_BEEP, PIN_LOW); LOG_D("beep off"); } } int main(void) { /* 设置 KEY1 引脚为输入模式 */ rt_pin_mode(PIN_KEY1, PIN_MODE_INPUT); /* KEY1 引脚绑定中断回调函数 */ rt_pin_attach_irq(PIN_KEY1,PIN_IRQ_MODE_RISING_FALLING, beep_ctrl, RT_NULL); /* 使能中断 */ rt_pin_irq_enable(PIN_KEY1,PIN_IRQ_ENABLE); /* 设置 BEEP 引脚为输出模式 */ rt_pin_mode(PIN_BEEP, PIN_MODE_OUTPUT); /* 默认蜂鸣器不鸣叫 */ rt_pin_write(PIN_BEEP, PIN_LOW); return 0; } |
请教一个问题:KEY0,KEY1可以实现点动使蜂鸣器发声。若改成按钮PIN_WK_UP(PA8),则按一下按钮蜂鸣器会一直响。与KEY0、KEY1现象不一致。烦请各位帮忙哪里还需要修改?