usart hmi(串口屏)使用小总结

1.刚到手的X5系列的串口屏,下载程序后黑屏

   找了挺久的原因,最后发现是其中一张图片太大导致的黑屏。(图片为2M)

   解决方法:打开官方例程,生成.tft文件(在串口屏软件生成:文件--输出生产文件),生成的文件如下:

                                                                           

  然后将生成的.tft文件 拷贝到SD卡中,给串口屏上电,利用SD卡将.tft文件下载到串口屏,下载完成后断电,拔出SD卡,

  重新给串口屏上电,串口屏恢复正常。重新编辑串口屏工程,更换图片,黑屏问题解决。

注:串口屏工程里的图片不能太大,太大会导致黑屏。

 

2.单片机处理串口屏发送的数据

   注:串口屏发送数据时:低位在前,高位在后。

 

3.串口屏的运算

   注:串口屏不支持运算优先级,运算是从左向右依次运算的,不支持()运算。

 

4.如何实现无触摸操作时跳转页面

   使用定时器(定时时间:100ms):保存当前实时触摸坐标,每100ms判断坐标是否有变化(有变化代表有触摸动作,无变化则无触摸动作)。具体实现如下:

注:tch0-tch3为全局变量
//
//无触摸操作
if(tch0!=x.val||tch1!=y.val)           //有操作
{
  TouchCnt.val=0
}else                                  //无操作
{
  TouchCnt.val=TouchCnt.val+1          //计数值累加
  //判断是否达到30s
  if(TouchCnt.val>=300)
  {
    page A1                            //跳转到主页面
  }
}
//
//记录坐标
x.val=tch0
y.val=tch1
//

5.关于曲线/波形图

   注:波形图显示最大值为255,超过上限时:显示在屏幕上的图形会从0开始显示

 

6.关于时间的获取

在定时器里,用系统变量rct0-5获取时间(带RTC的硬件才支持),代码如下:

hour.val=rtc3  //时赋值
minutes.val=rtc4  //分赋值

在串口屏上显示的时间

 

7.关于小数的显示

串口屏不支持浮点数,如果想实现小数显示,就得用“文本“”控件来实现。

//n0为:小数扩大10倍后的值
//取出整数部分和小数部分,然后在整数部分和小数部分加上小数点
//具体实现如下
//
integer.val=n0.val/10              //整数部分
covx integer.val,t5.txt,0,0
decimal.val=n0.val%10              //小数部分
covx decimal.val,va2.txt,0,0
t5.txt=t5.txt+"."+va2.txt          //显示在屏幕上
//

 

 

  • 7
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
使用USARTHMI软件进行通信时,需要首先确保USART的接收和发送功能正确配置。一般来说,可以按照以下步骤操作以将接收数据显示HMI的界面上: 1. 在HMI软件中,创建一个用于显示接收数据的文本框或其他控件。确保该控件的属性设置正确,包括位置、大小、字体、背景等。 2. 在代码中,使用USART接收函数来接收数据。根据不同的开发平台和编程语言,USART接收函数可能会有所不同。例如,在Arduino开发环境中,可以使用Serial.read()函数获取接收到的数据。 3. 将接收到的数据存储在一个变量中,以便后续使用。 4. 使用HMI软件提供的相应函数或方法,将接收到的数据在界面上显示出来。具体的方法可能会有所不同,取决于使用HMI软件和编程语言。一般来说,可以使用控件的setText()函数或类似方法,将接收到的数据作为参数传递给该函数,以更新界面上的显示。 5. 针对接收到的不同类型的数据,可以使用适当的转换函数或格式化操作,以便在界面上显示出更友好的格式。例如,如果接收到的是数值型数据,可以使用sprintf()函数将其转换为字符串,并对其进行格式化。 需要注意的是,通信过程中可能涉及错误处理、超时控制等问题,这些都需要在代码中进行适当的处理,以确保通信稳定和显示的准确性。 总之,通过正确配置USART的接收和发送功能,并根据接收到的数据使用HMI软件提供的显示函数,可以将接收的数据显示HMI界面上。具体的实现方式会根据不同的开发平台和软件环境有所差异,需要根据具体情况进行调整和操作。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值