尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

A39C-T400A22D1a Lora通讯模块的命令配置示例记录

A39C-T400A22D1a Lora通讯模块的命令配置示例记录
📅 发布时间:2026/6/19 18:50:19
记录了开发中对A39C-T400A22D1a Lora模块直接发送命令进行配置的实例,作为文档的增补

前言

开发的过程中,用A39C-T400A22D1aLora模块作无线传输。这个项目之前的人都是用厂商的ASDS上位机软件,直接配置Lora模块,也确实能运作。
但是文档中还记载了直接给模块发送指令进行配置的方式,我打算试试。

配置方法 优势 劣势
上位机 界面直观,操作简单 部署前需为模块单独费时间,参数难以保证无误
指令配置 快速部署,无须额外操作 占用程序体积

未来要是程序逻辑逐渐复杂,硬件装不下的话,没准儿得砍了指令配置这部分。

鉴于开发时一直没找到能抄的代码,也没什么思路(我是嵌入式新手)。
写这篇,一来记录,二来则算是填补网上资料的空缺吧。
(本文不会详细讲解的逻辑大概律在文档中说了,算是文档的补充与实现示例,文档还得自己读RTFM!)

干货

本文不会提关于接线、收发等。

参考资料:

  • 模块文档下载(个人感觉这里最主要且有用的文档是a39c_t400a22d1a/A39C-T400A22D1a资料包/产品规格书/a39ct400a22d1acn.pdf)
  • 我的代码仓库(仅供参考,lora相关文件与本文有关)

代码在Arduino上测试,但主要在于命令的构造,因为是类C语言,STM32什么的应该改改Serial相关的就行。

基本思路是依据文档第六部分,直接给模块发送配置等指令。
命令具体推导由上位机所发的命令依据文档逐位解析,参考图(很乱,仅参考):
推导过程参考图片

构造通过宏定义实现,方便更改。预留寄存器部分直接抄的上位机软件发送到样本(不知道为什么预留寄存器好像对配置成败也有影响,没仔细测试过,待定)。

主命令定义:

const byte configCmd[] = {0x80, 0x04, 0x1E, //cmd, 0x80 write local success, return if errorLORA_BAUDRATE,    //0x04LORA_SERIALARGS,  //0x05LORA_TRANSARGS,   //0x06LORA_WORKMODE,    //0x070x05,0x03,0xE8,   //0x08 to 0x09, preservedLORA_MAINORFOLLOW,//0x0A0x77, 0x77, 0x77, 0x2E, 0x61, 0x73, 0x68, 0x69, 0x6E, 0x69, 0x6E, 0x67, 0x2E, 0x63, 0x6F, 0x6D, //0x0B, default, AES key0x7C,0x7C,0x7C,0x7C,0x7C,0x05, //0x0C to 0x0D, preservedLORA_PACKSIZE,    //0x0E0x00,0x23,0x00,0x00,0x00,0x3C,0x3C, //0x0F to 0x13, preservedLORA_SLEEPTIME,   //0x140x0A,0x19,        //0x15 to 0x16, preserved0x00, 0x80,       //0x17, default, which is enable wireless wake codeLORA_LOCGROUP,    //0x18LORA_LOCADDR,     //0x19LORA_TARGGROUP,   //0x1ALORA_TARGADDR,    //0x1B0x00,0x00,0x00,0x00,0x17,0x02 //0x1C to 0x21, related to relay mode
};

宏定义示范:

// Baud Rate
#define LORA_BAUDRATE 0x00, 0x00, 0x25, 0x80
// LoraSerial Arguments
#define LORA_SERIALARGS 0x00
// Transmission Arguments
#define LORA_CHANNEL 20
#define LORA_TRANSARGS LORA_CHANNEL >> 3, (byte)(LORA_CHANNEL << 5) + 0b11010
// Transmission Mode
#define LORA_WORKMODE 0x00, 0x01
// Main Mode or Follow Mode
#define LORA_MAINORFOLLOW 0x00
// Pack Size
#define LORA_PACKSIZE 0x40
// Sleep Time
#define LORA_SLEEPTIME 0
// Group & Addr
// the target_group and target_addr is used in transparent mode
#define LORA_LOCGROUP 0
#define LORA_LOCADDR 0
#define LORA_TARGGROUP 0
#define LORA_TARGADDR 1

发送命令实例(Arduino,LoraSerial预先定义了):

LoraSerial.write(buf, 61);
// 文档第八部分有关于时序的,最好加上等待时间
delay(100);
// 然后检测返回命令是否成功({128, 4, 61}即{0x80, 0x04, 0x1E}为配置成功返回)
const byte corrbuf[] = {0x80, 0x04, 0x1E};
loraCheckReturn(3, corrbuf);

检测Lora返回的函数示例:

// LoraSerial是预定义的Lora串口
// critErrorAct是预定义的碰到错误时触发的操作,如使机器陷入死循环或停机
void loraCheckReturn(int corrlenn, byte *corrbuf) {int corrlen = corrlenn - 1;int cnt = 0;int correctcnt = 0;while (true) {if (LoraSerial.available() > 0) {byte ret = LoraSerial.read();DebugSerial.print(ret);DebugSerial.print(", ");if (correctcnt >= corrlen) {break;}if (ret == corrbuf[cnt]) {correctcnt++;} else {// Unknown return valueDebugSerial.print("(wrong byte)");critErrorAct();}cnt++;}}loraBufClear();return;
}

这个遇到的问题(上位机软件也有此问题)是发送后报配置失败命令,经过实验,在配置前重置出厂设置即可,同样根据文档发送命令{0x80, 0x23, 0x01}重置。最好在发送这两个命令前再加一个握手命令{0, 0, 1}检查模块可用性。具体代码不放这了,仍然是发送,等待,检查的逻辑,示例可以看参考资料里的代码仓库。

结语

嵌入式这种硬件活,给我最大印象就是玄学(机魂不悦)。纯软件环境(尤其高级编程语言)就像在温室里,软件转硬件还是十分有挑战性的(有一次调了半个小时连不上模块,拿别的测试才发现模块是坏的)。但是不要怕,多看文档,多做实验,用点AI,问题会解决的,经验也就多了。

相关新闻

  • AI学习机是“智商税”吗?2025年各价位主流品牌选购指南
  • Day30-C:\Users\Lenovo\Desktop\note\code\JavaSE\Basic\src\com\annotation\Proxy
  • [CSP 2025]游记

最新新闻

  • 武汉家具安装推荐良匠千艺2026口碑榜 - 我叫一
  • 2026昆山卫生间防水服务商适配指南:昆山鼎壹万机构解析及5家优质服务商推荐 专业瓷砖空鼓维修公司排名推荐(2026年5月瓷砖空鼓维修最新TOP权威排名) - 鼎壹万修缮说
  • 166、模组来料检验标准:外观、MTF 抽检、IRCF 透过率测试的 IQC 流程
  • 马鞍山GEO服务商代理加盟选型靠谱推荐?2026年马鞍山GEO代理服务商选型排名与合作路径解析 - 子柔传媒
  • 大连家电维修平台推荐:本地用户实测较好的几家服务商深度对比——2026年6月最新发布 - 一步到家
  • 3步解锁老旧Mac新生命:OpenCore Legacy Patcher终极升级指南

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号