本文仅用于开发记录,问题解决资料中心基本都有,实在没有的咨询客服进Q群。
淘晶驰资料中心
http://wiki.tjc1688.com/index.html
产品选型和规格书
http://wiki.tjc1688.com/product/index.html
资源合集汇总
http://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卡播放音乐),再加功放模块+喇叭播放这个高频声音。