串口屏开发记录

 本文仅用于开发记录,问题解决资料中心基本都有,实在没有的咨询客服进Q群。

淘晶驰资料中心icon-default.png?t=N7T8http://wiki.tjc1688.com/index.html

产品选型和规格书icon-default.png?t=N7T8http://wiki.tjc1688.com/product/index.html

资源合集汇总icon-default.png?t=N7T8http://wiki.tjc1688.com/download/moreProject/tjcwiki_resource_collection.html#id1

一、产品简介

项目参数
型号TJC4827X543_011C
尺寸4.3寸
触摸类型电容触摸
主控芯片型号AIHMI T8(200MHz)
通讯方式串口(RX-TX,TX-RX)
编程语言陶晶驰脚本语言
供电电压5V
分辨率480x272

二、开发流程

准备材料:串口屏,串口,串口线。

1.资料下载:上位机软件安装,资源合集汇总下载。

2.插线体验一下出厂屏幕内容,一些控件,大概都有什么功能。

3.打开《串口屏开发手册》根据手册熟悉熟悉。

4.打开上位机软件,上位机软件很容易理解,找个工程(.HMI文件)打开看看。

5.这个Program.s需要看一下,里边可以设置一些参数,内容也很容易理解,具体命令可以查阅指令集。我这里边设置波特率115200,然后跳转到page 0是编号0的页面,不是下边的page0。

6.右边是页面列表,可以添加、删除、插入、上下移动、复制、导入。

7.想用什么控件左边工具箱里有,下边还有图片,字库,动画,视频,音频。注意这些东西要占用内存的,占用越多,下载的时候越慢。

8.自己一顿设计。

9.编译一下,调试也行,下载也行。调试界面可以选择模拟器调试、串口实物调试或者两者一起调,然后你还可以看见串口或模拟器返回的数据信息。(注意调试的时候左边是人家串口屏的指令,不是你单片机的指令,o(╥﹏╥)o)。

10.我这个型号的下载波特率可以选到最大921600(这个波特率跟通讯不一样,有的型号好像不能超过256000,之前下载例程的时候,文件特别大,波特率没调下载用了好长时间,o(╥﹏╥)o)。

11.然后就是调屏幕和单片机的程序bug。

三、所遇到的问题及解决方案

问题1.想修改字体大小?

上位机软件左上角:工具->字库制作,字高可以调整,最下边还可以自定义高度。编码格式。字体,加粗等,生成字库,保存一下,然后会弹出是否添加到工程中。如果没选也可以在字库中自己添加。

问题2.单片机发送串口数据修改文本控件,串口屏没反应?

串口屏定义了一个文本控件,通过单片机串口发送数据,我是习惯使用sprintf组数,也可以用printf直接发。我这里将文本控件由原来的“未连接”切换到“已连接”。咋发就是没反应,后来看了一文档,发现我单片机(ESP32)的编码格式是UTF-8,而串口屏那边是GB2312,(汉字UTF-8占三个字节,GB2312占两个字节),算我求你,搞嵌入式买个逻辑分析仪吧!o(╥﹏╥)o

我为啥用ABCDEF呢,我也是懒,我就直接在串口屏调试的时候将串口飞线接逻辑分析仪,看人家发的汉字转十六进制看看是啥,一个汉字占两个字节,三个字六个字节。然后用十六进制数替换ABCDEF,哈哈,效果一样的。

我为什么不修改字库编码格式的方式呢,因为我之前用的别人家串口屏不支持更改编码格式,这样最快。

//ESP32

sprintf(data,"page1.t6.txt=\"ABCDEF\"\xff\xff\xff"); //汉字:已连接UTF-8->GB2312:D2 D1 C1 AC BD D3
if (strlen(data)) {
   data[14] = 0xD2;
   data[15] = 0xD1;
   data[16] = 0xC1;
   data[17] = 0xAC;
   data[18] = 0xBD;
   data[19] = 0xD3;
   data[strlen(data)] = '\0';
// esp_log_buffer_hex(TAG, &data, 30);
}
//然后发送data数组
uart_write_bytes(ECHO_UART_PORT_NUM, &data, strlen(data));

问题3.单片机不想接收串口屏返回的串口数据?

我当时按按钮或者其他的控件,它就会给我传递什么01 FF FF FF,04 FF FF FF的信息,我单片机不想要这些个信息,就需要在Program.s中添加bkcmd=0。但其实这些信息可以帮助你调试。(我这里挺搞笑的,找了半天bug,也在问题Q群里看别人的问题。下班之后灵机一动,就发现问题了。o(╥﹏╥)o)

问题4.想要单片机控制跨屏幕页面进行控制控件?

就用在问题2中的文本控件(位于page1)进行说明,默认这个vscope是私有的,要修改成全局。然后在通过串口修改,比如我在其他页面(page0)就想控制page1的文本内容修改,就可以发送

//注意转义字符!!!
printf("page1.t6.txt=\"已连接\"\xff\xff\xff")

问题5.使用屏幕接喇叭播放100Hz-16KHz的扫频声音,高频部分播放不了?

这个问题我最开始就问Q群和客服,但是没有使我满意的答案,就是说声音文件的频率,确实是人家做个屏幕,播放音乐就挺好了,不可能满足所有需求,我的这个高频声音有点专业的。

串口屏(按按钮控制音乐播放和停止)发送数据给单片机,单片机控制JQ8900(TF音乐模块,可以通过SD卡播放音乐),再加功放模块+喇叭播放这个高频声音。

  • 18
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chinalihuanyu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值