LcwSwust 发表于 2025-3-31 10:02

PAN3029程序分享

本帖最后由 LcwSwust 于 2025-3-31 10:04 编辑

曾经用NRF24L01+(或NRF24L01P)模块做航模遥控,但在有些地方有手机基站,会影响遥控距离。
所以后来考虑换个433MHz的模块,听说LoRa的抗干扰能力强,搜国产LoRa就找到了PAN3029。
设计电路时未想太多,单片机选的STC15W408AS,等到调试时,移植DEMO程序,编译,傻眼了:
Program Size: data=9.1 xdata=1609 code=13643
这代码量13K,单片机只有8K,根本装不下的好吧,RAM也不够。
吐槽一下芯片手册,寄存器的介绍不完整,各状态之间的切换时间也没找到,似乎只能依靠DEMO程序和SDK用户指南。
好吧,我只需要简单的遥控,能收发数据就行,所以在DEMO的基础上,用不上的函数都去掉,
然后code终于在8K内了,数组定义小一些,RAM也终于够用了。
再仔细研究,发现有两个函数用到了float类型的计算,一个计算时间的,没啥用,就把这函数去掉了;
另一个设置频率的,就用32位整数运算给代替了;......
最终,编译结果为:
Program Size: data=179.0 xdata=0 code=5373
嗯,看来这个STC15W408AS方案还是可以用的。



在家简单试了下,通信距离、穿墙能力确实比2.4G模块强。
最后,许个愿吧:
希望厂家能出个精简版的DEMO,或者弄个工具软件,用户设置好需要的频率、SF因子等参数,自动把寄存器的值做成一个二维数组,单片机程序只需把这个数组写入对应的寄存器就行,而不是大批量的各种功能函数。

页: [1]
查看完整版本: PAN3029程序分享