美文网首页Luat开源硬件
Luat实例教程:UART串口功能

Luat实例教程:UART串口功能

作者: Luat物联网通信模块 | 来源:发表于2018-03-23 13:24 被阅读66次

本示例实现的功能是:uart接收外围设备的输入,回复相同的字符

1.在编辑工具建立一个test.lua的文件(不一定叫这个名字,用户可以自己随便取名)

2.设置本文件被全体可见。也就意味着,一旦test被某一文件加载,则test在任何文件中均可被看见,即test中全局变量和函数均可被任何文件调用。

module(...,package.seeall)

3.设置一些变量,其中:UART_ID是串口id,这里用的是uart1。

--串口ID,1对应uart1
--如果要修改为uart3,把UART_ID赋值为3即可
local UART_ID = 1

4.然后,定义print函数,以用于调试:

local function print(...)
    _G.print("test",...)
end

5.创建一个函数write,实现的功能是:从串口发送数据。

function write(s)
    print("write",s)
    uart.write(UART_ID,s.."\r\n")
end

6.创建一个函数read,实现功能是:读取串口接收到的数据

local function read()
    local data = ""
    --底层core中,串口收到数据时:
    --如果接收缓冲区为空,则会以中断方式通知Lua脚本收到了新数据;
    --如果接收缓冲器不为空,则不会通知Lua脚本
    --所以Lua脚本中收到中断读串口数据时,每次都要把接收缓冲区中的数据全部读出,这样才能保证底层core中的新数据中断上来,此read函数中的while语句中就保证了这一点
    while true do       
        data = uart.read(UART_ID,"*l",0)
        if not data or string.len(data) == 0 then break end
        --打开下面的打印会耗时
        print("read",data)
        write(data)
    end
end

7.注册串口的数据接收函数,配置并且打开串口

sys.reguart(UART_ID,read)       --注册串口的数据接收函数,串口收到数据后,会以中断方式,调用read接口读取数据
uart.setup(UART_ID,115200,8,uart.PAR_NONE,uart.STOP_1)  --配置并且打开串口

8.在编辑工具中建立一个名为main.lua的文件。lua脚本的执行从main.lua开始,main.lua是入口文件(注意:main.lua只能有一个)。在main.lua中把test加载进去就好了。sys.init()是对系统初始化,sys.run()是系统主程序。这两句必须有。

--重要提醒:必须在这个位置定义MODULE_TYPE、PROJECT和VERSION变量
--MODULE_TYPE:模块型号,目前仅支持Air201、Air202、Air800
--PROJECT:ascii string类型,可以随便定义,只要不使用,就行
--VERSION:ascii string类型,如果使用Luat物联云平台固件升级的功能,必须按照"X.X.X"定义,X表示1位数字;否则可随便定义
MODULE_TYPE = "Air202"
PROJECT = "UART"
VERSION = "1.0.0"
require"sys"
require"test"
if MODULE_TYPE=="Air201" then
require"wdt"
end
sys.init(0,0)
sys.run()

!!!attention

一个工程只有一个main.lua

相关文章

  • Luat实例教程:UART串口功能

    本示例实现的功能是:uart接收外围设备的输入,回复相同的字符 1.在编辑工具建立一个test.lua的文件(不一...

  • MT2503 串口编程

    配置GPIO模式为UART 首先是配置IO为复用UART功能,使用 或 初始化串口 配置IO为UART后才能初始化...

  • Luat实例教程:UART_GPIO切换

    本示例实现的功能是:uart和gpio功能切换控制demo项目。 1.在编辑工具建立一个test.lua的文件(不...

  • Luat实例教程:pwm功能

    本示例实现的功能是:pwm功能demo项目 1.在编辑工具建立一个test.lua的文件(不一定叫这个名字,用户可...

  • Luat实例教程:http功能

    本示例实现的功能是:http功能测试 1.在编辑工具建立一个test.lua的文件(不一定叫这个名字,用户可以自己...

  • 1. 利用UCenter进行ublox-F9配置

    简要说明: 1. F9有两个串口,uart1和uart2. uart1:对外串口,用于NMEA数据的传输 u...

  • 树莓派3B使用串口UART

    背景:新版的树莓派中,蓝牙占用了UART串口,要使用串口就要关闭蓝牙,然后恢复GIOP 14\15口给UART使用...

  • UART接口

    认识UART接口UART详解---简单的讲:(UART与COM) 嵌入式里面说的串口,一般是指UART口, 但是我...

  • Luat实例教程:crypto加密功能

    本示例实现的功能是:常见的加密算法。 1.在编辑工具建立一个test.lua的文件(不一定叫这个名字,用户可以自己...

  • Luat实例教程:call电话功能

    本示例实现的功能是:通话测试,测试呼入呼出 1.在编辑工具建立一个test.lua的文件(不一定叫这个名字,用户可...

网友评论

    本文标题:Luat实例教程:UART串口功能

    本文链接:https://www.haomeiwen.com/subject/litxcftx.html