readme.md 4.7 KB

功能模块介绍:

1、main.lua:主程序入口;

2、pins_test.lua: 功能演示核心脚本,动态修改管脚复用功能,演示复用后的管脚的功能等,在main.lua中加载运行;

3、my.json: 管脚配置示例文件,用于演示 pins.loadjson(path)接口加载自定义管脚配置文件的功能,该文件手动编写容易出错,建议使用合宙LuatIO可视化工具 LuatIO初始化配置工具 自动生成;

4、pins_Air8000.json: 管脚配置示例文件,用于演示 pins.loadjson(path)接口加载自定义管脚配置文件的功能,或者底层自动加载该文件,使用合宙LuatIO可视化工具自动生成。

演示功能概述:

1.加载管脚配置文件,初始化所有io引脚功能;

2.动态修改管脚复用功能,这里演示SPI管脚pin41脚即SPI1_CS复用为UART2_RX,pin40脚即SPI1_MOSI复用为UART2_TX;

3.演示复用的串口管脚的功能,通过串口工具收发数据。

演示硬件环境

netdrv_multi

1、Air8000核心板一块

2、TYPE-C USB数据线一根 ,Air8000核心板和数据线的硬件接线方式为:

  • Air8000核心板通过TYPE-C USB口供电;(外部供电/USB供电 拨动开关 拨到 USB供电一端)

  • TYPE-C USB数据线直接插到核心板的TYPE-C USB座子,另外一端连接电脑USB口。

3、USB转TTL串口线一根,串口线usb口连接电脑USB口,Air8000核心板和串口线,按以下方式接线:

Air8000核心板 串口线
SPI1_CS uart_tx
SPI1_MOSI uart_rx
GND GND

演示软件环境

1、 Luatools下载调试工具

2、 固件版本:LuatOS-SoC_V2016_Air8000_1,固件地址,如有最新固件请用最新 https://docs.openluat.com/air8000/luatos/firmware/

3、 脚本文件:

main.lua

pins_test.lua

my.json

pins_Air8000.json

4、 pc 系统 win11(win10 及以上)

5、sscom串口工具

演示核心步骤

1、搭建好硬件环境

2、demo脚本文件pins_test.lua中,设置了方式1和方式2两种加载管脚配置文件的方式,按照自己的需求选择其一,脚本中默认是方式2:加载my.json自定义管脚配置文件。

3、Luatools烧录内核固件和修改后的demo脚本代码

4、烧录成功后,代码会自动运行,查看打印日志,如果正常运行,会打印加载配置文件,配置管脚,以及配置完成后向串口发消息,通过SSCOM串口工具查看串口收到的消息,SSCOM也可以向模组发送消息进行交互。

如下log显示:其中 I/user.uart receive日志是串口工具向模组发数据,模组收到数据触发打印,

图片中红框是SSCOM串口工具收到模组发来的消息,蓝框是模组收到SSCOM串口工具发来的消息。

[2025-10-28 13:18:00.720][000000000.360] I/user.main Air8000_pins 001.000.000
[2025-10-28 13:18:00.726][000000000.376] E/pins _STB不是可配置的外设功能
[2025-10-28 13:18:00.730][000000000.376] W/pins pins 35 CAN_STB setup failed
[2025-10-28 13:18:00.734][000000000.384] I/user.加载自定义的配置文件 true 0
[2025-10-28 13:18:00.739][000000000.385] I/user.配置pin41脚即SPI1_CS为UART2_RX true
[2025-10-28 13:18:00.743][000000000.385] I/user.配置pin40脚即SPI1_MOSI为UART2_TX true
[2025-10-28 13:18:00.748][000000000.385] Uart_ChangeBR 1338:uart2, 115200 115203 26000000 3611
[2025-10-28 13:18:02.418][000000002.386] I/user.这是第0次向串口发数据
[2025-10-28 13:18:06.419][000000006.387] I/user.这是第1次向串口发数据
[2025-10-28 13:18:07.776][000000007.752] I/user.uart receive 2 11 123456789

[2025-10-28 13:18:07.784][000000007.753] I/user.uart receive(hex) 2 11 3132333435363738390D0A 22
[2025-10-28 13:18:10.424][000000010.387] I/user.这是第2次向串口发数据
[2025-10-28 13:18:14.408][000000014.387] I/user.这是第3次向串口发数据
[2025-10-28 13:18:16.289][000000016.264] I/user.uart receive 2 11 123456789

[2025-10-28 13:18:16.295][000000016.265] I/user.uart receive(hex) 2 11 3132333435363738390D0A 22
[2025-10-28 13:18:18.423][000000018.387] I/user.这是第4次向串口发数据
[2025-10-28 13:18:22.420][000000022.387] I/user.这是第5次向串口发数据
[2025-10-28 13:18:26.414][000000026.387] I/user.这是第6次向串口发数据
[2025-10-28 13:18:30.418][000000030.387] I/user.这是第7次向串口发数据
[2025-10-28 13:18:34.416][000000034.387] I/user.这是第8次向串口发数据
[2025-10-28 13:18:38.409][000000038.387] I/user.这是第9次向串口发数据