Air724UG开发板串口教程
1、前言
这块板子是毕业设计老师替选的,出自合宙。使用Lua5.1,包含部分外部lib包。
缺点:
-
官方宣传的Luat合宙全系列通用,在Air724ug上是无法使用的
-
该开发板使用Lua5.1,缺少了较多常用的Api,需要外部lib补充,往往也很难查询
-
开发板型号多种多样,官方教程使用开发板往往和你的不同。如果你没有Pcb及电路经验,不推荐使用,因为你很有可能不知道怎么使用
-
使用人少,出现问题较难搜索查询
优点:
- 使用Lua作为语言(虽然是5.1)
- 合宙包含LuaTask框架,非常易用
- 官方的工具很好用,调试方便
- 官方提供demo
2、内容
①开发板版本
本文使用Air724UG A13开发板,如下图
②电路查看
该开发板存在两个可使用的uart,分别为uart1,uart2。
在Air724UG的芯片中,使用uart需要给一个参考电平,而在开发板中,默认给uart电平为1.8v。
如果你的通讯串口不符合该电平有两种做法:
- 使用开发板提供的串口电平转换电路(该开发板只有一个)
- 外搭串口电平转换电路
针对于1,我们看一下电路图:
首先uart1,2串口电平1.8v连接串口选择开关:
下面继续往下看,下图从右向左看:
首先串口选择的uart,输出进入电压转换电路,电压转化电路的vcc连接3.3v,故该电路实现3.3v与1.8v转换。
转换电路左侧,连接有两个方向。连接1为:ch330,连接2为:DIP3X1-2.54(即为我们自行焊接的三个排针)
这两个连接,通过开关进行选择:
当3,4ON,则CH330打开,micro usb通路(可以进行电脑的调试通信)
当3,4OFF,则CH330关闭,micro usb断路
DIP3X1-2.54是默认连接的,使用时连接,不使用时自己断开杜邦线,如果进行通讯建议关闭CH330,以免产生影响。
③Demo
3,4ON,使用micro usb连接电脑测试
或者使用外部的3.3v串口进行通讯,连接自行焊接的排针:GND,TX,RX
myuart.lua:
module(..., package.seeall) require "utils" require "pm" -- 串口的序号,本次测试程序用的是第一个串口,ID数值为1 local UART_ID = 1 -- 串口定时处理数据,每100毫秒处理一次数据。一旦收到的新的数据立刻发送回去 local function taskRead() local dataBuffer = "" local frameCnt = 0 while true do -- 设置读取到结束符或者阻塞时发送数据 local receiveData = uart.read(UART_ID, "*l") -- 如果没有收到数据 if receiveData == "" then if not sys.waitUntil("UART_RECEIVE", 100) then -- 判断现在的数据是否为空 -- 数据不为空 if dataBuffer:len() > 0 then write(dataBuffer) dataBuffer = "" end end else dataBuffer = dataBuffer .. receiveData end end end function write(data) uart.write(UART_ID, data .. "\r\n") end -- 保持文件处于唤醒状态 pm.wake("myuart") -- 注册接收数据 uart.on(UART_ID, "receive", function() sys.publish("UART_RECEIVE") end) -- 串口配置 uart.setup(UART_ID, 115200, 8, uart.PAR_NONE, uart.STOP_1) -- 启动串口接收数据任务 sys.taskInit(taskRead)
main.lua:
PROJECT="UART" --版本号 VERSION="1.0.0" --载入系统文件 require"sys" --载入串口实现文件 require"myuart" --启动系统框架 sys.init(0, 0) sys.run()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!