ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

串口屏按钮抬起生效——避免按一次跳两步

串口屏按钮抬起生效——避免按一次跳两步 一句话: 串口屏按钮按下和松开各发一次事件。代码里两个都处理 按一次按钮执行两次。改成只在松开0x00时生效按一次只跳一步。适合谁读串口屏按钮按一下跳两步、加减号按了跑飞了的嵌入式开发者。现象串口屏上点下一通道通道号从 5 跳到了 7——跳了两步。按电流电流 了两次。原因串口屏的按钮控件在按下和松开时各触发一次事件按下 → MCU 收到 ControlType0x10, Event0x01 松开 → MCU 收到 ControlType0x10, Event0x00事件Event 值时机处理按下0x01手指接触屏幕瞬间跳过什么都不做松开0x00手指离开屏幕瞬间执行对应功能代码里两个事件都处理了——按一次按钮逻辑执行了两遍。解决/* 只在松开时生效 */ if (u8Frame[7] 0x00U) { // 松开 switch (id) { case 44: Enable(); break; case 45: Disable(); break; case 49: NextChannel(); break; case 50: PrevChannel(); break; } } // 按下(0x01)直接跳过五个按钮统一用抬起生效。按下去什么都不做用户松手才执行。有用的话点个收藏下次调试直接用。有问题欢迎评论区交流看到了都会回。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进