USART HMI 资料中心

官方技术交流QQ群:916560014

站点工具


目录索引

10.常见问题集锦:1.基础问题集锦

基础问题集锦


【目录】

  1. ESD能过多少V,EMI性能如何 

  2. 串口通讯线最长能接多少米 

  3. 通讯口电压多少V,是否可以直接接5V单片机

  4. 设计好的工程有哪些下载方式 

  5. tft文件串口/SD卡下载失败如何解决

  6. 调试或下载时联机失败

  7. 屏幕通电后不断的闪烁(不断重启) 

  8. 怎么创建和使用字库

  9. 编译报错:XXX初始值无效               

  10. 哪些控件属性可以运行中修改,哪些不能运行中修改   

  11. txt属性和val属性有什么区别,为什么有些属性赋值要加双引号,有些不用加双引号 

  12. 运行中控件属性被修改后,离开页面再回来,不希望属性回到初始值怎么操作         

  13. 如何操作其他页面的控件属性    

  14. 如何批量修改控件属性              

  15. 如何实现按键长按功能              

  16. 文本控件或按钮控件不显示我输入的字符内容或显示不全

  17. 单片机发指令给屏幕没有反应

  18. 单片机发指令给屏幕,屏幕返回1A FF FF FF或1C FF FF FF四个字节的HEX数据

  19. 系统内置的触摸键盘怎么修改风格 

  20. 滑块或进度条控件默认是横向,为什么我设为竖向后没有变化,还是显示横向呢

  21. 串口助手和屏幕联调

  22. 串口助手和上位软件的模拟器联调(不用单片机,不用屏幕实物,串口助手操作上位模拟器)

  23. 屏幕波特率怎么修改  

  24. 单片机和串口屏通信为什么单片机上电后要延时一会再发指令,延时多久合适

  25. 单片机上电后为什么要先发一次 0xff 0xff 0xff给屏幕

  26. 屏幕地址怎么设置,怎么使用 

  27. 怎么读取和控制8路扩展IO 

  28. 如何更改控件的前后图层关系

  29. 在做字库的时候有部分字体无法选择

  30. 如何解决调用系统键盘给控件赋值无效

  31. 如何设计多语言界面

  32. USART HMI在WIN10系统安装失败


详解

1.ESD能过多少V,EMI性能如何

  ESD电压:

image.png

  EMI特性

  图是TJC8048T070_011的EMI测试图,我们认证的是class B 级别


  image.png


2.串口通讯线最长能接多少米

TTL通讯: 如果通讯在9600下TTL传输理论值达2米,实际应用建议不要超过50cm,这个与电磁环境有关系,主要受限于TTL器件的带负载能力和抗干扰能力的影响。

232通讯: RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的 电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于15m以内的[rs232(9针)接口]通信


3.通讯口电压多少V,是否可以直接接5V单片机

TTL 通讯:X系列通讯口电压为3.3/5V ,T0K0系列为3.3V ,都可以直接接5V单片机

232通讯: X系列是兼容TTL和232的,如果要用232通讯,要把R59这个电阻焊掉,此时是不可以直接接单片机的

image.png


5.tft文件串口/SD卡下载失败如何解决

1.新建一个简易工程,单页面的,添加个背景色就可以了,编译保存,通过串口或SD卡重新下到屏里。

2.SD卡重新格式化,慢格,FAT32格式,重新下编译好的.tft文件,


6.调试或下载时联机失败

1.检测硬件,串口驱动是否安装正确,确认串口存在。

2. 检测连接方式是否正确,是用TTL电平还是用232电平。

3.检测是否共地,如果不用电脑的USB供电的话,除了RX,TX连接外,还要共GND。

4.检查电源是否稳定,电压有没有被拉低,电源不稳定可能会造成任何异常。


7.屏幕通电后不断的闪烁(不断重启) 

这种现象一般出现在4.3寸及以上的屏,因为供电不足导致的,请检查你的电源带载能力,在通电情况下检测屏幕电源座子上的电压是否正常。务必亲自动手检测带载能力,不要看电源标签上的标称值,多数电源的标称值都是假的。


8.怎么创建和使用字库

请参阅文档:开发环境详解->字库


9.编译报错:XXX初始值无效

1.字库ID无效错误(如下图所示)

image.png

出现这类错误是因为:控件使用了字库。但是字库资源中不存在这个字库。解决办法是添加一个字库文件到字库资源中,并修改控件的字库属性对应到指定的字库ID。

如何制作字库和添加字库,请参阅文档:开发环境详解->字库


2.图片ID无效错误(如下图所示)

image.pngimage.png

出现这类错误是因为:选择了页面/控件背景为图片,但是图片资源中又不存在这个ID的图片。解决办法是添加对应的图片文件到图片资源中,并修改控件的图片属性对应到指定的图片ID。


10.哪些控件属性可以运行中修改,哪些不能运行中修改  

如下图所示:属性栏中显示为绿色的属性都可以在运行中修改,黑色的属性只能在编辑时修改,不能在运行中修改。

image.pngimage.png


11.txt属性和val属性有什么区别,为什么有些属性赋值要加双引号,有些不用加双引号 

txt属性,即字符串属性。在给字符串做常量赋值时,需要添加双引号(C语言相同)

例如:t0.txt="abcd"  

          t0.txt="\"hello\""         使用C语言标准转义字符,结果为屏幕上显示内容为"hello"(包括双引号)

          t0.txt=t0.txt+"123"      t0.txt在原来字符串的尾部在追加"123"这三个ASCII字符

val属性,即数值型属性。所有数值型操作时,不需要不需要使用双引号。

例如:n0.val=1234   

          n0.val=0xabcd

          n0.val=1234+0xabcd

12.运行中控件属性被修改后,离开页面再回来,不希望属性回到初始值怎么操作

将对应控件的vscope属性由默认的“私有”修改为“全局”即可。

    1:将控件设置为全局以后,只有在设备复位后会对所有全局控件做一次赋值操作。其他任何设备不会主动去修全局控件属性值。

    注2:每次进入页面时设备会执行页面的“前初始化事件”或者“后初始化事件”中的代码。如果用户在这里增加了任何操作属性的代码,则会按照用户代码操作去修改对应变量属性值。


13.如何操作其他页面的控件属性

请参阅文档:指令集->书写语法->跨页面操作控件属性


14.如何批量修改控件属性 

请参阅文档:指令集->名称组使用说明


15.如何实现按键长按功能

1.新建一个定时器tm0,en属性设置为0,其他属性不用管;此时定时器处于默认关闭状态。

2.在按钮的按下事件中写上如下代码:

tm0.tim=2000     2秒后进入长按功能
tm0.en=1         打开定时器

3.在按钮的弹起事件中写上如下代码:

tm0.en=0        已经松手了,所以定时器立即停止工作

4.在定时器tm0的定时事件中写上如下代码:

tm0.tim=100      按钮刚按下的时候,定时时间是2秒,这里修改为100ms,就意味着如果不松手,每100ms会来执行一次后面的代码
此处写上您想操作的长按事件代码,比如:n0.val++
…..


16.文本控件或按钮控件不显示我输入的字符内容或显示不全

如下图:输入的内容是:"中国abc",控件显示出来的是:"abc"

WPG)8P4GV})T6K~%R]JL`R9.pngNZN)F%8J$DDRGIPD2]4530G.png

以上情况是因为t0控件的font属性设置的那个字库里面没有"中国"两个字,所以"中国"没有显示出来。

解决办法是重新做一个全字库或指定字符字库(指定字符字库的话一定要输入"中国"两个字)。


17.单片机发指令给屏幕没有反应 

1.确定接线线序是否有问题,正确的接线方法是:单片机的RX接屏的TX,单片机的TX接屏的RX。

2.单片机的通信波特率要和屏的一致,串口屏的默认波特率是9600,数据格式8-0-1(1位起始位,8位数据位,无校验位,1位结束位)。

3.单片机控制屏的指令格式,一条控制指令,一条结束符,控制指令见指令集的指令,结束符是16进制的3个FF(FF FF FF).

4.确定以上3点都没问题,可以用串口助手监视单片机发过来的数据。

5.要参考51单片机和STM32控制屏的例子请查看:样例工程->官方发布应用样例->STM32单片机和HMI屏通信->51(STC)单片机和HMI屏通信


18.单片机发指令给屏幕,屏幕返回1A FF FF FF或1C FF FF FF四个字节的HEX数据

1A FF FF FF

如下图:模拟器已经帮我们翻译了,变量名称无效,因为t0控件并没有val属性,t0.val这是个无效的变量

CZ9~4U~~UV}~XT85QJF@799.png


1C FF FF FF

如下图:模拟器已经帮我们翻译了,赋值操作失败,因为t0.txt是字符串类型。赋值常亮必须加引号,所以赋值失败

Y(I40}6CIP@E@2DDK5Y1[0O.png

关于详细的赋值操作请参阅文档:指令集->书写语法->赋值操作


19.系统内置的触摸键盘怎么修改风格

1.先找到要需要修改的内置键盘:新建一个文本控件,把文本(vscope)属性改为全局,在文本(key)属性选择自己所需键盘的大致风格。

1547532657290120.jpg

2.选择完后页面会自动出现一个键盘页面,而且是有上锁的标志,此时选定右击选择解锁。

2-2.jpg

3.解锁完以后就可以按照自己想要的风格布局及代码修改,当然修改完以后你还可以对键盘右击锁定,锁定会提示输入密码,不填默认无,如果填了,不小心忘记了密码,选定右击重置会回来系统默认的键盘状态。


20.滑块或进度条控件默认是横向,为什么我设为竖向后没有变化,还是显示横向呢 

默认横向,显示是正常的,如下图:

QZ5F88}(R_QFWSO(NY]VU8G.png

但是修改为竖向以后,控件还是横的,如下图:


PA{6V%P]V)AY}4YTMCQ7ZYK.png

这是因为设置为竖向后,软件并不会修改控件的宽度和高度,需要你手动调整他的宽度和高度,调整之后再看显示就是正常的了,如下图:

BJY$ULZKEF_{K1{XDJCU6T1.png


21.串口助手和屏幕联调

1.串口屏通过电平转换模块和电脑正确连接,是否连接成功可以先用我们上位联机试一下,这样确保硬件连线没问题。

2.串口助手如下配置。

2-1.配置串口号,根据电脑设备管理器转出来的串口号配置。

2-2.波特率设置,串口屏的波特率默认是9600,如果修改了波特率,串口助手波特率也要相应修改。

STC串口助手如下配置

3-1.jpg

3.发送指令(一条完整的指令是指一条控制指令和一条结束符)

发控制指令:cls RED

3-2.jpg

发结束符:FF FF FF

3-3.jpg

22.串口助手和上位软件的模拟器联调(不用单片机,不用屏幕实物,串口助手操作上位模拟器)

1.电脑需要装一个虚拟串口软件VSPD(此软件网上有下载)。

2.打开虚拟串口,添加一对串口。

1.jpg

3.打开串口助手和上位软件(进入上位软件的调试页面)。根据虚拟串口增添的串口来设置串口软件的串口,和上位软件的串口,如图虚拟串口的一对串口是COM3和COM4,串口助手选择COM3,那么我们的上位软件必须选择COM4。

串口助手设置如图:

3.jpg

上位软件设置如图:

2.jpg



23.屏幕波特率怎么修改

系统变量baud和bauds分别表示当前波特率和上电默认波特率

baud

当前波特率值

例:baud=9600


bauds

上电默认波特率值

例:bauds=9600

更详解的介绍请参阅文档:指令集-系统变量


备注:

设备支持的波特率有:2400 4800 9600 19200 38400 57600 115200

230400 256000 512000 921600


24.单片机和串口屏通信为什么单片机上电后要延时一会再发指令,延时多久合适

屏上电到显示这个过程是有一段时间的(相对跑系统的来说可以忽略),如果用户主控和串口屏同时上电,用户主控有可能比串口屏先完成初始化,如果这时候马上发指令给屏,而串口屏并未完全成功启动,这样会导致用户发的数据丢失。所以,我们建议用户MCU完成初始化以后延时一段时间再发数据给串口屏,对于T0和K0系列我们建议延时250MS,对于X3和X5系列建议延时1.5S。如果用户对串口屏启动时间要求比较精准,串口屏启动成功后会发0x88+结束符,这是说明串口屏已成功启动,用户单片机可以发数据给屏了。


25.单片机上电后为什么要先发一次 0xff 0xff 0xff给屏幕

单片机初始化后,先给一定时间的延时给屏幕初始化,具体延时时间可以参考上面一条。

延时之后,第一次发指令前先发一次0xff 0xff 0xff,是因为上电过程中有可能串口引脚上产生了杂波导致屏幕已经收到一个或者多个错误数据了,所以先发一次0xff 0xff 0xff来结束当前指令,后面就可以正常操作了。


26.屏幕地址怎么设置,怎么使用

当用户想一个串口同时控制多个串口屏独立工作的时候,可以给每个屏设置不同的地址。(注意,在TTL/RS232通信时不能直接将多个触摸屏的TX连接到一起,这样会导致短路。但是可以将多个触摸屏的RX连接到一起,接用户串口的TX型号。)

或者用户使用485总线与屏幕通信,且485总线上存在多个设备的时候,可以给屏幕设置地址。

屏幕地址的具体设置,请参考系统变量addr

例如,现在将两个触摸屏的RX并联到一起,然后与电脑串口(TTL电平)的TX连接。设置串口屏A的地址0x100(addr=256),设置串口屏B的地址为0x200(addr=512).通过电脑操作串口发送命令详解:(红色下划线为十六进制数据,黑色框中为ascii码)

0x00 0x01 t0.txt="addr is 256"   0xFF 0xFF 0xFF          控制串口屏A页面上的t0控件显示内容为:addr is 256

0x00 0x01 t0.txt="addr is 512"   0xFF 0xFF 0xFF          控制串口屏A页面上的t0控件显示内容为:addr is 512

0xFF 0xFF t0.txt="broadcast addr"  0xFF 0xFF 0xFF     控制所有串口屏页面上的t0控件显示内容为:broadcast addr


27.怎么读取和控制8路扩展IO

(带扩展IO的硬件才支持)

使用扩展8路IO口,必须先用cfgpio指令初始对应IO的状态:

实例1:cfgpio 0,0,0  (将io0配置为上拉输入,配置为此模式后,任意时刻可以使用系统变量pio0读取当前输入电平,如:n0.val=pio0)

实例2:cfgpio 1,2,0  (将io1配置为推挽输出,配置为此模式后,任意时刻可以使用系统变量pio1控制当前输出电平,如:pio1=1)

实例3:cfgpio 2,1,b0 (将io2配置为控件事件邦定输入,邦定控件为b0,配置为此模式后,io2产生下降沿的时候将触发b0控件的按下事件,产生上升沿的时候将触发b0控件的弹起事件)

实例4:cfgpio 4,3,0 (将io4配置为PWM输出模式,配置之前需要先设置占空比,即系统变量变量中的pwm4)

备注:

1..K0系列只有io4-io7才支持PWM输出,X5系列只有io6-io7才支持PWM输出 其他IO不支持。配置其他IO为PWM模式会报错。

2.使用控件事件邦定输入模式时,必须是在当前配置时刻的当前页面的控件才能邦定,不可以邦定其他页面的控件(即使是全局内存占用的控件也不可以),邦定当前页面控件以后,当重新刷新页面或者切换到别的页面后,邦定事件将不会继续触发,因此每次刷新页面需要重新邦定,建议将邦定代码写在页面的前初始化事件中最为合适。

更多详情请参考基本指令集cfgpio


28.如何更改控件的前后图层关系

◆图层的前后关系跟控件ID是关联的,图层最底层的控件ID最小,图层顶层的控件ID最大,每个控件占用一个图层,所有控件通过ID来区别前后关系。(每页UI最底层的是“页面”所以页面ID永远是0)。使用快捷栏的“置顶”、“置底”功能便可使控件ID发生变化 (图层关系也同时发生相应的变化)。如下图:

RG$`KZSUNK(VWI$U[NF6GLQ.png

◆所有控件的ID号软件自动生成,用户在编辑UI界面时,按放置控件的顺序自动连续分配ID;在属性项中不能手动修改。

◆控件ID及图层关系只在编辑界面可以修改,运行中无法修改。


29.在做字库的时候有部分字体无法选择

Windows常用的的字体文件类型为.ttf的文件。但是有少部分字体文件为.otf或者其他类型格式。

我们需要将不支持的字体转换成.ttf的字体类型。方法如下:

1,找到windows的字体文件夹:C:\Windows\Fonts。将不支持的字体文件复制到电脑其他地方。然后再删除windows字体文件夹中的该字体

2,使用字体转换工具将,其他类型的字体文件转换成.ttf文件。

      A:可以使用FontCreator,具体转换方法点击参考链接

     B:也可以在网上查找其他字体文件类型转换工具。比如在线转换

3,重新安装字体。将转换好的.ttf文件重新放会Windows的字体文件夹:C:\Windows\Fonts。


30.如何解决调用系统键盘给控件赋值无效

数据输入是通过切换到页面的方式来实现键盘调用的,当你点击需要输入数据的控件时,当前页面就离开了,重新刷新键盘页面,效果等同于page指令,因此如果你在数据页面的初始化事件里给控件赋了初始值的话,键盘输入完以后重新刷新数据页面时,数据就再次被初始化了,导致键盘输入的值不起作用了。

解决方案一:不要在此数据页面的初始化里给控件赋初始值,比如你可以建一个专门用来做上电赋初始值的页面,做为上电默认页,在此页面的初始化事件里完成所有的初始化动作之后,切换到工程主页,这样初始化动作就只会上电执行一次,不会重复执行。

解决方案二:在数据输入页面建一个变量(要全局的哦),用来表示是否已经初始化过了,赋初始值的时候判断控件是否已经被初始化过,是的话就不要再赋初值了,这样键盘调用完之后再次回来就不会重复执行了。


31.如何设计多语言界面

界面上的控件使用UTF-8编码的字库,然后在页面初始化里根据不同语言为控件的txt属性赋不同的值即可。


32.USART HMI在WIN10系统安装失败

部分WIN10用户在安装USART HMI软件时,提示拒绝访问,安装失败(如下图所示)。

问题原因是win10系统缺少补丁。我们已经下载好了该补丁点击这里下载安装

HMI安装包提示【拒绝访问】.pngHMI安装包返回提示.png

































10.常见问题集锦/1.基础问题集锦.txt · 最后更改: 2020/06/23 11:43 由 zcd        浏览次数:53785/2172388(本页/全站)