Toggle navigation
首页
(current)
问答
文章
话题
商城
登录
注册
合宙Luat Air720SL开发板(EVB_Air720SL)初体验(3)-实现屏幕显示(下)
Air720SL
显示
串口屏
本文介绍把Air202 UART显示屏和Air720SL开发板连接,使Air720SL可以用串口屏幕输出文本信息。
##本文内容 在本篇文章的上部分中我们用Air202实现了一个串口屏,在本文的下部分中我们将尝试把做好的串口屏和Air720SL开发板连接,使Air720SL可以用屏幕输出文本信息。 ##连接方法 Air720SL,本身有两个硬件串口,在Demo板上通过CH340转换成USB接口,供连接到电脑上调试。 由于Air720SL采用的UART为1.8V电平,在开发板中通过三极管和二极管构成的电平转换电路转换成3.3V电平,可惜这部分电路已经和CH340在线连接起来,无法单独使用,因此我用一块小板作了电平转换电路,并和DEMO板上的UART引出管脚相连接。 刚好DEMO板上有一个UART1<->UART2切换开关,可以将其中一路UART口与其他电路板载电路断开连接。 我们这里把开关拨到UART2上,这样UART1就可以外接电平转换电路和Air202串口屏相连了。 下面是连接示意图 ![](/static/editormd/php/../uploads/5_45984.jpg) ##电平转换板的制作 因为手头没有电平转换板,所以参考Air720SL的电路自己DIY了一个,原件并不多,一共只有5个,其中TX一路采用一个三极管两个电阻,RX一路采用一个电阻和一个二极管即可。 原理图如下: ![](/static/editormd/php/../uploads/5_83038.jpg) ![](/static/editormd/php/../uploads/5_74016.jpg) 我用了一块2cmX6cm的面包板,按照以上电路简单焊接了一下就完成了。 然后我们把以下几个部件用杜邦线连接起来 Air202串口屏 Air720SL开发板 电平转换小板 ![](/static/editormd/php/../uploads/5_87648.jpg) 连接好后,通电测试。 ![](/static/editormd/php/../uploads/5_89622.jpg) ##编写代码 下面我结合上一篇文章的IO口电平检测Demo,实现了对GPIO_32电平发生变化的检测,并显示在Air202串口屏幕上,代码如下: demo.lua --- 模块功能:串口屏 测试 DEMO. -- @author openLuat -- @module gpio.testUARTDISPLAY -- @license MIT -- @copyright openLuat -- @release 2020.01.17 require "utils" require "pm" require "pins" require "common" module(..., package.seeall) local uartsetup=0 function gpioIntFnc(msg) if (uartsetup==1) then if msg==cpu.INT_GPIO_POSEDGE then --上升沿中断 uart.write(1,common.utf8ToGb2312("检测到上升沿\n\r")) else --下降沿中断 uart.write(1,common.utf8ToGb2312("检测到下降沿\n\r")) end end end --------------------------------------------GPIO初始化--------------------------------------------- pio32 = pins.setup(32, gpioIntFnc) -------------------------------------------- 配置串口 -------------------------------------------- -- 串口ID,串口读缓冲区 local UART_ID, sendQueue, writeBuff, writeBusy = 1, {}, {{}, {}}, false -- 串口超时,串口准备好后发布的消息 local uartimeout, recvReady = 25, "UART_RECV_ID" --保持系统处于唤醒状态,不会休眠 pm.wake("mcuart") uart.setup(UART_ID, 115200, 8, uart.PAR_NONE, uart.STOP_1, nil, 1) uart.on(UART_ID, "receive", function(uid) table.insert(sendQueue, uart.read(uid, 8192)) sys.timerStart(sys.publish, uartimeout, recvReady) end) uartsetup=1 main.lua --必须在这个位置定义PROJECT和VERSION变量 --PROJECT:ascii string类型,可以随便定义,只要不使用,就行 --VERSION:ascii string类型,如果使用Luat物联云平台固件升级的功能,必须按照"X.X.X"定义,X表示1位数字;否则可随便定义 PROJECT = "testUARTDISPLAY" VERSION = "1.0.0" --加载日志功能模块,并且设置日志输出等级 --如果关闭调用log模块接口输出的日志,等级设置为log.LOG_SILENT即可 require "log" LOG_LEVEL = log.LOGLEVEL_TRACE require "net" --每1分钟查询一次GSM信号强度 --每1分钟查询一次基站信息 net.startQueryAll(60000, 60000) require "errDump" errDump.request("udp://ota.airm2m.com:9072") require "demo" --启动系统框架 sys.init(0, 0) sys.run() ##联机测试 将lua代码通过Luatools烧写到Air720SL上,然后连接GND与GPIO32,可以看到串口屏打印出了相应的响应信息,实验成功。 ![](/static/editormd/php/../uploads/5_34463.jpg) ##总结 至此,我们完成了Air720SL模块连接Air202串口屏的整个原型电路,终于可以在Air720SL上轻松地显示调试信息了。如果您有兴趣也快来试试吧,多加20块钱立即让您的4G产品具有显示功能。 这个项目在Github上已经建立了目录,并上传了本文所述的Lua脚本代码和硬件连线图。 如果您有兴趣和我一起完善他,就快来关注吧。 也欢迎您加我 QQ:64034373 共同探讨 。 ##开源项目地址 UART_DISPLAY 开源项目地址:https://github.com/miuser00/202uartdisplay LLCCom 开源项目地址:https://github.com/chenxuuu/llcom
发表于 2020-01-17 03:25
阅读 ( 2671 )
分类:
默认分类
0 推荐
收藏
你可能感兴趣的文章
10、合宙Air模块Luat开发:JSON字符串的生成与解析
2300 浏览
8、合宙Air模块Luat开发:基于官方库的二次封装,使串口更加易用
2556 浏览
7、合宙Air模块Luat开发:定时器的使用方法
2138 浏览
6、合宙Air模块Luat开发:又是一种新的外设之ADC模数转换,现在我们可以采集模拟量数据了
2225 浏览
5、合宙Air模块Luat开发:GPIO输入常见的两种使用方法及其优劣性
2314 浏览
4、合宙Air模块Luat开发:用GPIO输出功能实现一个简单的LED灯闪烁
2544 浏览
相关问题
Air720SL的I2C及I2C2对应设备ID是?如何使用api读写16位地址寄存器
0 回答
0 条评论
请先
登录
后评论
miuser
工程师
21 篇文章
作家榜
»
技术销售Delectate
43 文章
陈夏
26 文章
国梁
24 文章
miuser
21 文章
晨旭
20 文章
朱天华
19 文章
金艺
19 文章
杨奉武
18 文章
×
发送私信
发给:
内容:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!