单片机发送数据给串口屏
提示
以下展示的单片机代码均为单片机已经配置了printf重定向到串口(即通过printf打印的数据就被发送到串口)的情况下使用的。
使用淘晶驰协议控制串口屏
例如main页面有一个文本控件t0,我们要让t0显示“淘晶驰”,则通过单片机发送main.t0.txt="淘晶驰",然后发送3个0xff作为结束符,注意,结束符是16进制的0xff
printf("main.t0.txt=\"淘晶驰\"\xff\xff\xff")
使用单片机发出的数据如下所示
![../../_images/usart_protocol_1.jpg](../../_images/usart_protocol_1.jpg)
如果是setting页面有一个数字控件n0,我们要让n0显示为100,则通过单片机发送
printf("setting.n0.val=100\xff\xff\xff")
使用单片机发出的数据如下所示
![../../_images/usart_protocol_2.jpg](../../_images/usart_protocol_2.jpg)
提示
建议单片机仅操作串口屏的全局变量,例如main.t0.txt=”淘晶驰”,而不是仅仅使用t0.txt=”淘晶驰”,这将会减少很多问题。如何将控件设置为全局请参考 跨页面赋值,全局变量操作
如果是program.s中使用int定义的整形,例如sys0,我们要让sys0显示为123,则通过单片机发送
提示
program.s中使用int定义的整形均为全局变量,目前仅能定义int类型,无法定义其他类型(如字符串,浮点数等),int定义需放在其他代码之前,否则会报错。
printf("sys0=123\xff\xff\xff")
使用单片机发出的数据如下所示
![../../_images/usart_protocol_6.jpg](../../_images/usart_protocol_6.jpg)
跳转页面时,例如跳转到main页面,发送的是page main,单片机发出的数据如下
![../../_images/usart_protocol_7.jpg](../../_images/usart_protocol_7.jpg)
可以在上位机选中控件后查看控件的属性,选中每个属性后都能在底部看到对应的注释,例如txt属性,代表“字符内容”
![../../_images/usart_protocol_3.jpg](../../_images/usart_protocol_3.jpg)
对于数字控件来说,val属性就代表了数字控件将会显示的数值
![../../_images/usart_protocol_4.jpg](../../_images/usart_protocol_4.jpg)
并不是每个属性都能通过指令进行修改,只有绿色的属性是可以通过指令修改的,黑色属性是不允许通过指令进行修改的
黑色属性是不可修改或者只能通过上位机进行修改的
![../../_images/usart_protocol_5.jpg](../../_images/usart_protocol_5.jpg)
objname(控件名称)是比较特殊的属性,不允许通过指令读写,只能在上位机里更改。
单片机使用其他协议控制串口屏
请参考 主动解析模式应用详解