本文目录
- 学习前言
- 单片机代码实现
学习前言
目前市面上我记得好像有IIC的屏幕、SPI的屏幕、并口屏幕、还有就是今天我们介绍的这个串口屏了,串口屏,就是用串口进行通讯的,上篇我们已经介绍了屏幕供应商提供的上位机软件进行配置好了,下面我们介绍一下用单片机是如何通过代码控制屏幕的。
单片机代码实现
下面我将会用这张图来分别地介绍一下各个组件是怎么使用的。
t9、t10、t18、t13、t0、t1 这些就是text的组件,一般用于固定显示文字或修改显示文字,比如说t0我会修改成关/开、t1我会修改成自动/手动;
p2就是picture的组件,要先在上位机软件中加入了实际的图片才可以的,我定义p1是绿色的图片,p2是红色的图片;
x1就是带小数的数字显示;
n0这个没有截图到,实际是不带小数的整数显示;
其他的组件也是大同小异的,有疑问的就可以去看下官方的手册,里面用法介绍得很清楚的。
关于串口的配置我就不多说了噢,可以看我之前的modbus介绍那些文章。
下面我直接距离说明我是怎么控制串口屏组件的:
对于t0的组件,直接改写文字内容
char aStr[100];
if(mOnoff)
sprintf(aStr,"t0.txt=\"开\"\xff\xff\xff");
else
sprintf(aStr,"t0.txt=\"关\"\xff\xff\xff");
zj_app_HMI_send_string(aStr);
对于p2的组件,发送图片的ID号,就能显示对应的图片了
#define HMI_PIC_VALVE_ON 2
#define HMI_PIC_VALVE_OFF 3
char aStr[100];
if(mOnoff)
sprintf(aStr,"p2.pic=%d\xff\xff\xff",HMI_PIC_VALVE_OFF);
else
sprintf(aStr,"p2.pic=%d\xff\xff\xff",HMI_PIC_VALVE_ON);
zj_app_HMI_send_string(aStr);
对于x1的组件,直接改写文字内容,请注意,我发的是x100的值,也就是说我需要保留2个小数点,我发真实值x100过去,串口屏会/100后再显示两位小数点,我上位机配置了2位小数。
char aStr[100];
sprintf(aStr,"x1.val=%d\xff\xff\xff",zj_app_info.flow_x100_value);
zj_app_HMI_send_string(aStr);
对于n1的组件,直接把值发过去就行了。
char aStr[100];
sprintf(aStr,"n2.val=%d\xff\xff\xff",zj_app_info.index_percent);
zj_app_HMI_send_string(aStr);
以上就是单片机控制串口屏是全部内容了,很久没更新了,工作上的事情也是挺忙挺充实的,想了很久还是决定和大家分享技术的的入门教程啦。利他之心可不能丢掉!感谢大家的阅读量和关注,让我在分享的道路上又看到了希望。
小弟感谢大家的关注!
(利他之心,原创分享)