概述
之前对串口各模块的设计都做了相关介绍。这里介绍串口屏的相关知识。
本次项目使用的串口屏型号是陶晶驰串口屏TJC3224T024_011,这个型号的串口屏的资料在官网可以找到。本文抛转引玉,简单介绍以便在本工程中更好的应用。
下图是该串口屏的实物图:
一般地,使用单片机或者嵌入式MCU控制串口屏,都会用到串口,同样地,在FPGA中实现也是类似,不过稍微复杂,具体代码设计过程中有以下问题需要注意。
Q1:FPGA向HMI发送命令,要使HMI中的某个文本控件显示相应的数据,该如何操作呢?
ASR:根据HMI指令集,串口屏的指令数据为字符串数据格式,如文本控件t0,其内容属性txt,t0.txt表示文本控件的内容,当要改变t0的内容时,需要发送以下字符串命令:t0.txt="123"(整个指令就是一个字符串),当时用单片机串口发送时,需要执行以下程序,如:
Serial.print("t0.txt="你好"");
Serial.write(hexEND,3);
从中清楚看到,整条代码为一条字符串数据,而其属性txt属于字符串属性,所以要加上双引号,故有以上写法——整个括号内由两对双引号。
在单片机C语言中," "表征这是一条字符串数据,并不需要考虑使用串口发送时是否会发送",因为在串口助手中,当以文本模式发送数据时,是默认不用用户自己加入" "的,同理在发送字符串时,总是会冠以" ",如使用sprintf,或者直接使用串口发送函数直接发送Serial.print(“a good boy!”)。
Q2:前面介绍了HMI的字符串指令,所以,使用FPGA发送字符串时是否要把最外面的双引号(表征字符串属性的双引号)发送出去呢?
回答:不需要,这只是表征这条数据是字符串数据,实际发送中不需要将其作为有效字符发送。同理,字符串结尾标识