|
本帖最后由 飞向狙沙 于 2022-7-23 03:27 编辑
之前淘垃圾搞过几个山寨彩屏MP3,一直想着把屏幕点亮,然后就查了些资料,分析是128*160的ST7735,然后就找现成demo测试屏,一通操作后屏幕点亮,图片输出没问题,字母输出没问题,一输出中文就异常
异常如图
正常应该是下边这样,但是实际显示丢字,位置异常,而且是丢失246
一开始以为代码有问题,导致定位错误,查了半天代码都没问题,而且测试过程中还有这样,我只输出了一个”屏”字,结果打印出了C盘路径,简直不要太诡异
由此推断肯定不是代码的问题,那就是编译器的问题了,使用的vscode+platformIO,有点迷茫,然后先研究了下异常的规律,打印第一个中文没问题,打印第二个中文会不显示,打印第三个中文会显示,但是第二个字符的空白位置明显比正常宽,而且*str!=0貌似匹配不到字符串截止位置,然后感觉一个汉字在这里不只占了两个字节,瞬间一道惊雷炸裂,看了下文件格式UTF8,UTF8占3个字节,而Keil默认是GB2312,占两个字节,程序也是按2字节处理,导致程序取第一个中文只拿了2字节,取第二个中文时拿了第一个汉字的第三个字节和第二个汉字的第一个字节,组成了一个不存在的汉字,打印出了诡异的效果。
最终把文件改为GB2312格式,屏幕正常驱动
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|