当前位置: 首页 > 解决方案
返回
列表

FPGA之串口收发字符串之(四)——串口屏USART_HMI介绍

发表时间: 2024-03-02 作者: 解决方案

  以前对串口各模块的设计都作了相关介绍。这里介绍串口屏的相关知识。函数 本次项目使用的串口屏型号是陶晶驰串口屏TJC3224T024_011,这个型号的串口屏的资料在官网能找到。本文抛转引玉,粗略地介绍以便在本工程中更好的应用。spa 下图是该串口屏的实物图:设计 通常地,使用单片机或者嵌入式MCU控制串口屏,都会用到串口,一样地,在FPGA中实现也是相似,不过稍微复杂,具体代码设计过程中有如下问

  本次项目使用的串口屏型号是陶晶驰串口屏TJC3224T024_011,这个型号的串口屏的资料在官网能找到。本文抛转引玉,粗略地介绍以便在本工程中更好的应用。spa

  通常地,使用单片机或者嵌入式MCU控制串口屏,都会用到串口,一样地,在FPGA中实现也是相似,不过稍微复杂,具体代码设计过程中有如下问题须要注意。blog

  Q1:FPGA向HMI发送命令,要使HMI中的某个文本控件显示对应的数据,该如何操做呢?教程

  ASR:根据HMI指令集,串口屏的指令数据为字符串数据格式,如文本控件t0,其内容属性txt,t0.txt表示文本控件的内容,当要改变t0的内容时,须要发送如下字符串命令:t0.txt=123(整个指令就是一个字符串),当时用单片机串口发送时,须要执行如下程序,如:ci

  从中清楚看到,整条代码为一条字符串数据,而其属性txt属于字符串属性,因此要加上双引号,故有以上写法——整个括号内由两对双引号。it

  在单片机C语言中, 表征这是一条字符串数据,并不须要考虑使用串口发送时是否会发送,由于在串口助手中,当以文本模式发送数据时,是默认不用用户本身加入 的,同理在发送字符串时,老是会冠以 ,如使用sprintf,或者直接用串口发送函数直接发送Serial.print(“a good boy!”)。class

  Q2:前面介绍了HMI的字符串指令,因此,使用FPGA发送字符串时是否要把最外面的双引号(表征字符串属性的双引号)发送出去呢?程序

  回答:不须要,这只是表征这条数据是字符串数据,实际发送中不须要将其做为有效字符发送。同理,字符串结尾标识\0也不须要对外发送。故,若是须要在文本控件t0中显示123,只须要发送t0.txt=”123””共12个字符;固然,该类型串口屏的结束指令命令是发送HEX的FF FF FF,因此,发送完第一条指令后,在其后再发送FF FF FF便可(16进制,3个)。因此用户书写指令代码时没必要考虑过多,而只需关注所发送的字符串的内容便可。

  NOTE:数据指令和结束指令最好间隔开,由于这实际是两条指令,在使用ascii码表示时,两条指令可能会合并成一条数据,即t0.txt=”123””FF FF FF,这样理解的话,则指令格式不彻底(没明确的指令结束标志,固然,若是接受到第二个’”就自动识别为第一个指令那就ok,但实际并不清楚)。

  整个串口屏的verilog代码设计,就是简单地经过串口发送指令在文本控件中显示对应的数据。有关串口屏幕内容的上位机设计,最简单,这里不作过多介绍,网上能找到教程。