|
游戏使用到: 按键中断,参考 【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 调试神技:条件断点与观察点,搞定长周期复现疑难杂症
STM32U5A9JDK试用---MIPI-DSI屏幕驱动
实战经验 | 使用STM32CubeIDE调试Zephyr RTOS
STM32CubeIDE 2.0.0:解耦STM32Cube MX与优化后的项目工作流程
经验分享 | 基于STM32CubeIDE的指定存储话题
【亮点速览】同步升级工具链 + 快速重置按钮 + 增量烧录!STM32CubeIDE for Visual Studio Code开发工具更新
【STM32C0评测】4、驱动Lorasx126x,实现透传
ST推出一款WiFi6&蓝牙模组
效率与探索之间:STM32CubeMX与STM32CubeAI试用有感
AI工具训练营-用ChatGPT解决HID Keyboard实现的问题
微信公众号
手机版