用FlexLua单片机技术快速驱动陶晶驰串口触摸屏

96 篇文章 0 订阅
32 篇文章 0 订阅

TFT 串口液晶触摸屏(3.5-10.1寸)

基于 FlexLua 低代码单片机技术,脱离复杂单片机C语言开发正逐渐成为一种快速高效的 IoT 硬件开发方式。即使新手不懂单片机开发也可很快很容易用FlexLua零门槛开发各种 IoT 硬件,更多教程请参考 FlexLua 官网。

Shineblink Core 可支持3.5寸、4寸、7寸的TFT串口彩色液晶屏,本篇章主要演示了TJC4832T135型号(480*320)的3.5寸液晶触摸屏的开发,对于更大的4寸以及7寸屏幕开发方式完全一样,程序不需要任何修改。

62a5a9c82479e21bebb82049cb584ec9.jpeg

一、开发基础准备工作

  1. 安装TJC PC端开发软件。
  2. 软件安装完毕后,按照TJC官方教程操作一遍,帮助开发者了解TFT屏开发的如下基本流程:
    • 制作一个简单的工程
  • 注意:建立工程时,需要正确选择您的屏幕型号
    • 制作字库并加入到工程中(图片素材的添加也类似)
  • 注意:制作字库时一定不要生成全字库,而是用到哪些字做哪些字库,不然字库会非常大
    • 通过PC仿真调试页面(离线开发方式)
  1. 参看官网的下载工程方法,帮助开发者了解如何将开发好的工程文件从电脑下载到实物屏幕中:
    • 串口下载(不推荐,下载时间长且占用串口接口)
    • TF卡下载(推荐,下载快且适合大批量量产)
  2. 想了解更详细教程以及案例请直接访问TJC官网相关教程

二、本章节实现功能介绍

在3.5寸TFT液晶屏幕上实时显示温度和湿度,并可以通过屏幕上的两个触摸按键来控制Core开发板上LED1灯和LED2灯的亮灭。

三、接线图

42d52c73e6e2df3ab8f5d2a0a45fa212.jpeg

注意:Core开发板的5V源自开发板上的USB接口,所以需保证USB的供电能力能达到1A,尤其是7寸的大屏需要更强的供电能力。

四、材料清单

  • TJC(陶晶驰)3.5寸液晶屏幕

五、开发板端完整代码

--配置开发板上LED1和LED2灯的IO口
LIB_GpioOutputConfig("D8","STANDARD")
LIB_GpioOutputConfig("D9","STANDARD")
--配置Uart0串口波特率为115200
LIB_Uart0Config("BAUDRATE_115200")
--使能10毫秒定时器开始工作
LIB_10msTimerConfig("ENABLE")
cnt_10ms = 0
--用两个全局变量来分别模拟温度和湿度数据
temp=10.0 --温度
humi=12.1 --湿度
--定义10毫秒定时器的中断函数
function LIB_10msTimerCallback()
cnt_10ms = cnt_10ms + 1
end
--开始大循环
while(GC(1) == true)
do
--查询是否收到液晶屏发来的串口数据
uart0_recv_flag,uart0_recv_tab = LIB_Uart0Recv()
if uart0_recv_flag == 1 then
--如果触摸屏上绿色按钮按下
if uart0_recv_tab[1] == 0x11 and uart0_recv_tab[2] == 0x22 and uart0_recv_tab[3] == 0x33 then
LIB_GpioToggle("D8") --切换LED1灯亮灭状态
--如果触摸屏上黄色按钮按下
elseif uart0_recv_tab[1] == 0xaa and uart0_recv_tab[2] == 0xbb and uart0_recv_tab[3] == 0xcc then
LIB_GpioToggle("D9") --切换LED2灯亮灭状态
else
--do nothing
end
end
--每1秒更新一次液晶屏显示内容
if cnt_10ms >= 100 then
cnt_10ms = 0
--向液晶屏幕发送需要更新显示的温度数据,注意:多发送的3个0xff是液晶屏的协议暗号,不可缺少
uart0_send_table = LIB_StrToTab(string.format("t2.txt=\"%.1f\"\xff\xff\xff", temp))
LIB_Uart0BlockSend(uart0_send_table)
--向液晶屏幕发送需要更新显示的湿度数据,注意:多发送的3个0xff是液晶屏的协议暗号,不可缺少
uart0_send_table = LIB_StrToTab(string.format("t3.txt=\"%.1f\"\xff\xff\xff", humi))
LIB_Uart0BlockSend(uart0_send_table)
temp = temp + 0.1
humi = humi + 0.2
end
end


如果感兴趣,上面代码中出现的LIB开头的库函数可以在 API文档 中通过Ctrl+F查询。

六、液晶屏页面的开发

(1)首先下载我们事先开发好的工程文件。

(2)用PC端开发软件打开下载的工程后,既可以看到已经开发好的工程页面。

在下图中我们对开发过程中的关键地方做了注释,以帮助您掌握页面的开发方法(图中主要描述了绿色按钮控件的设置方法):

b8ef2eebee4f6953b66d4d206bb0b77e.jpeg

七、代码运行结果

我们可以在3.5寸液晶屏幕上可以看到如下内容:

当我们在屏幕上按下绿色按钮时可以看到Core开发板上的LED1灯亮起来了。

4b4af764fd8d2e7e0fe49c151c0b42d6.jpeg

  • 13
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值