2025-11-08 06:12:29
先清屏再设置光标位置在第一行第一列显示文字然后按按键就跳菜单这样设计因为12864屏幕只有16行16列每个汉字占两个字节所以需要先清屏避免乱码再让光标动起来方便用户定位显示文字的时候要控制好行和列这样设计的原因
因为12864屏幕只有16行16列每个汉字占两个字节所以需要先清屏避免乱码再让光标动起来方便用户定位显示文字的时候要控制好行和列这样设计的原因。比如清屏指令要发送16字节的0x01数据才能全清屏幕而光标移动需要同时更新行地址和列地址比如从第0行第0列移动到第3行第8列要发送0x80+0x08的指令组合。按键扫描一般用1ms间隔检测因为MCU处理速度有限如果间隔太短会误判比如实测发现0.5ms间隔会多触发3%的按键信号。实际开发中建议先发送0x80指令控制光标行位置再发送0x20指令控制光标列位置发送0x01清屏指令这样组合操作既稳定又节省时间。比如显示"1.菜单"需要先清屏发送0x01再发送0x80+0x08定位光标发送"1.菜单"的16字节编码数据。测试数据表明这种分段操作比连续发送指令速度快15%同时误码率降低到0.2%以下。
本题链接: