STM32 发送字符串至淘晶驰串口屏显示到txt控件——避坑

简介

        最近开发一款基于STM32检测时钟芯片的测试台,需要将时钟芯片的实时时间显示出来。设计过程中,考虑到方便使用,需要使用一款屏幕用于显示时间。前期项目剩余一些淘晶驰串口屏(前任工程师选屏剩余未使用),就拿来用到了这次的测试台上。淘晶驰官方网站提供了UI设计软件,且哔哩哔哩上有教程视频,此处不做过多说明。

项目说明

        测试台主要用于时钟芯片精度检测,项目中需要将多个时钟芯片时间显示到串口屏上,预留串口用于时钟同步。

帮助手册避坑

        对于串口屏,初步学习了下官方手册上如何将图片转换成UI界面,如何对txt控件进行赋值,没用进行深入学习。

        先附图USART HMI软件上帮助文件如何赋值txt控件:

STM32 发送字符串至淘晶驰串口屏显示到txt控件——避坑

 根据手册1.1文本控件显示说明,在t0处显示时间信息串口发送格式为:

        此处这种编写格式,keil中会报错,无法识别到%s。

        继续往下查看手册查找原因,在1.3中给出了发送变量到串口屏例程,然后套用发送例程第三个格式继续调试。

STM32 发送字符串至淘晶驰串口屏显示到txt控件——避坑

        调试后串口助手可接收到规定格式字符串,但是txt控件依旧无法改变值。因为前面加双引号格式不被识别,然后就在此格式字符串输出上各种尝试……

 官方单片机输出例程

        根据帮助手册,自己实在无法解决时间信息输出问题,又回到官方网站,查找问题解决方法,最终在官方网站查到了单片机工程文件。此处仅截取txt控件赋值格式。

        官方工程给出的示例代码中,要求将txt文本属性赋值时的内容使用成对的” “包裹住。然后根据示例代码修改工程代码:

        再次编译工程,成了!卡住两天无进展,各种扒帮助手册、官方文件、博文,最终还是靠官方例程解决了,我觉得官方帮助手册可以给出各控件的示例代码,毕竟很多人还是靠看手册来开发的。

转义字符的使用

        那么问题来了,为何需要加成对的” “包裹才能赋值。在前面贴出的帮助手册1.3下面有一行标注内容:若不明白“”使用法,自行百度“C语言转义字符”

STM32 发送字符串至淘晶驰串口屏显示到txt控件——避坑

         百度到一份C语言常见转义字符,直接拉过来。由表格可以看到,字符串中使用双引号时,需要在前面加转义字符,才能表示为字符型双引号。

        最终总结一点,C语言基础该补补了!

 

 

来源:Aqder

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年10月20日
下一篇 2022年10月20日

相关推荐