工业LED显示屏汉字乱码方式的解决

目录

研究背景

解决方法

原因分析

尝试的解决方法

本质原因

写在最后

研究背景

        想实现LED显示屏数字、字母、汉字均能正常显示的效果(效果如下)。在将UTF-8改为GB2312 编码之前,数字和字母不乱,但是汉字会乱码。

解决方法

        1.将编码方式改为GB2312编码环境,显示效果如下

原因分析

        字符编码不匹配造成的。GB2312 编码使用双字节表示一个字符,而 sprintf 和 printf 函数默认使用单字节字符编码(如 ASCII 或 UTF-8)。因此,在将 GB2312 编码的字符串与 %d 占位符混合使用时,可能会导致字符解析错误。

尝试的解决方法

        1.将数字转换为utf-8在GB2312的编码中封装发送,不行。

        2.解析cjson时直接放在字符串中,不要放在数组中,省确过程中的麻烦,验证可行

本质原因

        LED屏的中英文编码方式为:控制卡IP编码格式为中文为GB2312的编码格式,英文格式也为GB2312,但是协议为中文数据为GB2312编码,英文或符号为 ASCII编码,因此导致了错乱。通讯的编码协议要求如下

写在最后

        最后,给大家提供几个小问题思考,这几个问题想通了,相信这个项目任务就能真正掌握,并且轻松拿下,好好思考!有助于培养全局观念噢

问题1:为什么要写2个函数,一个负责拼接显示字体,一个负责语音播报?

问题2:怎么让语音播报只发送一次,不需要循环发送,因为自动驾驶会一直存在,一路上不需要一直自动驾驶状态一直语音播报状态?

问题3:先显示后报语音会有不报语音的现象,如在屏蔽所有打印信息时会出现这一现象?

问题4:如何实现当显示收到左转或者右转时(转向过程),箭头要闪烁,同时语音要循环播报:车辆左/右转弯?

问题5:开发板掉电后,时间恢复到初始值,原因有哪些?

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值