|
通常开发板上都只有一个用户按键,有时需要使用按键来执行多种操作,这就需要通过识别按键按下的时间长短来执行对应的操作,思路之一就是当按键按下时对一个变量执行++操作,然后通过这个变量的值来区分按键按下时间的长短。, Y1 o* a1 p, v; }, A2 P! b / z& b( O( [4 U C$ g" { 以前我都是在中断函数中来实现这个过程,但在STM32C542RC的项目中,我竟然没有找到中断函数所处的位置,在中断回调函数中又无法判断按下时间的长短,所以这次只要在主循环中通过轮询来实现,下面是代码的截图:+ `4 m9 T$ V' l
' ?0 F7 @" O! T [4 F) g m' Z 本次实验是通过按键来调整PWM呼吸灯的明暗周期,短促按键LED的明暗周期加快,正常按键则明暗周期减慢。
8 d. ^+ [* [: K; b( h' `9 }8 c 使用者操作时,稍加练习就可以轻易实现至少三种按键状态,我曾经测试过可以识别五种按键状态。/ P/ x, I2 ^6 S- O8 a7 _- @% ? |
STM32CubeMX2 无法正常添加 CMSIS-DSP?基于 CMake 的手动集成与工程结构优化
STM32C542RC开发板PWM呼吸灯实验
【NUCLEO-C562RE】呼吸灯
《STM32CubeMX2 实战课程》学习笔记5+CubeMX2生成的Uart初始化代码中没有使能
STM32CubeMX2 学习分享:CubeMX2时钟树
《STM32CubeMX2 实战课程》学习笔记+从配置到工程移植的完整实践
STM32CubeMX2 学习分享:界面和配置体验升级
《STM32CubeMX2 实战课程》学习笔记4+FreeRTOS中的SysTick错误及改正
【NUCLEO-C562RE】OLED 显示
STM32CubeMX2 学习分享新建工程
微信公众号
手机版