游戏使用到: 按键中断,参考 【STM32C0评测】1、开箱、环境搭建、按键点灯 I2C接口,参考【STM32C0评测】3、I2C使用 10ms时间中断: 中断设置
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { uint16_t TimeCal; if (htim->Instance == TIM16) { LifeTime++; if (KeyState == 2) // 如果处于等待二次按下的状态 {if (ReleaseKeyTime > LifeTime) TimeCal = 65535 - ReleaseKeyTime + LifeTime + 1; else TimeCal = LifeTime - ReleaseKeyTime; if (TimeCal > 50) // 超时没双击,判断为单击 { KeyState = 0; //按键状态清0 Click_Event(SINGLECLICK); // 输出按键单击 } } } } 游戏操作:单击或长按选择操作方向,双击执行操作 游戏界面: 游戏开始界面 按任何键进入游戏主界面 双击实现块向上滑动 单击选择操作方向 玩了一段时间,单键操作,太太太麻烦了 源码: |
STM32CubeIDE 快速入门指南
【NUCLEO-WB09KE评测】BLE创建服务和写特征控制LED
【NUCLEO-WB09KE评测】+使用STM32CubeMX新建蓝牙工程
【NUCLEO-WB09KE评测】+基于STM32CubeMX创建工程点灯
刘氓兔的64位入门挑战【2】——MP257和cubemx
基于STM32CubeIDE+MPU6050做的动量轮平衡自行车(一)
【NUCLEO-WB09KE评测】+实现读取温湿度传感器SHTC3数据
【NUCLEO-WB09KE评测】+实现串口printf打印和shell移植
【NUCLEO-WB09KE评测】使用I2C点亮一个OLED
【STWINKT1B评测】2.初步测试IIS3DWB振动传感器