首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

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寸屏幕开发方式完全一样,程序不需要任何修改。

一、开发基础准备工作

安装TJC PC端开发软件。

软件安装完毕后,按照TJC官方教程操作一遍,帮助开发者了解TFT屏开发的如下基本流程:

制作一个简单的工程

注意:建立工程时,需要正确选择您的屏幕型号

制作字库并加入到工程中(图片素材的添加也类似)

注意:制作字库时一定不要生成全字库,而是用到哪些字做哪些字库,不然字库会非常大

通过PC仿真调试页面(离线开发方式)

参看官网的下载工程方法,帮助开发者了解如何将开发好的工程文件从电脑下载到实物屏幕中:

串口下载(不推荐,下载时间长且占用串口接口)

TF卡下载(推荐,下载快且适合大批量量产)

想了解更详细教程以及案例请直接访问TJC官网相关教程

二、本章节实现功能介绍

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

三、接线图

注意: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端开发软件打开下载的工程后,既可以看到已经开发好的工程页面。

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

七、代码运行结果

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

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

  • 发表于:
  • 原文链接https://page.om.qq.com/page/ONTvcSVaH2GzIXgl1tfUoR0w0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券