ST意法半导体
直播中

杜喜喜

8年用户 1588经验值
私信 关注
[问答]

STM32L4xx不能发送超过1个字节的原因?

我正在使用两个连接到LoRa 模块STM32L4xx 。两种情况下的 LoRa 设置为:
带宽 = 500 kHz
SF = 12
CR = 4/5
隐式标头,Crc 关闭,低数据速率优化打开。
在发射器模块上,我执行以下操作:
  • 确保模块未处于睡眠模式
  • 将 Tx 引脚设置为高电平,将 Rx 引脚设置为低电平。
  • 清除标志
  • 设置负载大小
  • 将 TxBaseAddr 和 AddPtr 设置为 0x80
  • 向 FiFo 写入 3 个字节
  • 将操作模式更改为发射器。
  • 等到 TxDone 标志被设置
我已回读所有寄存器以确保它们已正确设置。
在接收端,我确保调制解调器处于连续接收模式并检查标志,直到 RxDone 设置为 1。当我检查寄存器 RxNbBytes 时它为 1 并通过 FiFo 读取我只能看到一个字节已被传输.
我已经处理这个问题大约一个星期了,并且尝试了很多不同的事情。将我的步骤与其他库(例如mbed os)进行比较,我遵循相同的步骤。







回帖(1)

于姝斐

2023-2-8 14:41:59
如果其他人有同样的问题,对我有用的是在发射器端将标头更改为隐式 BUT 而不是检查标志我必须检查操作模式直到它进入待机状态。该模块将要待机,但没有设置标志。不知道为什么,但它开始了。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分