ST意法半导体
直播中

张览秀

9年用户 1239经验值
擅长:可编程逻辑 电源/新能源
私信 关注
[问答]

通过LoRaWAN终端正确发送数据怎样去解决用户定义骨架的问题呢

我们正在开发基于 STM32CubeWL 的 LoRaWAN 和 FreeRTOS 应用程序,用于定制板。
虽然我们通过 LoRaWAN“终端节点骨架”正确发送数据,但我们面临着“用户定义骨架”的问题。
使用“用户定义的骨架”,第一次加入和发送工作,但进一步调用 `LmHandlerSend(…)` 时出现 `LORAMAC_HANDLER_BUSY_ERROR` 错误,因为在 LoRaMac.c 中,`MacCtx.MacState` 是 `LORAMAC_TX_RUNNING`。
虽然这可能类似于本论坛中的问题 0D53W00001aJT8eSAG,但我们已经尝试增加堆栈大小但没有成功。
相反,如果我们将 lorawan_conf.h 中的“DISABLE_LORAWAN_RX_WINDOW”设置为 1,则重复发送可以正常工作。这就是在 IOC 中启用“NVIC/SUBGHZ 无线电中断”。但我们也想使用 RX 功能。
任何帮助是极大的赞赏。









回帖(1)

李天氍

2022-12-6 11:04:18
我现在终于可以修复我的应用程序,以便使用 FreeRTOS 和用户定义的框架进行重复的 LoRaWAN 发送。
问题是我们没有实现 timer_if.c,假设它不需要,因为我们没有在 lora_app.c 中使用 UTIL_TIMER。但事实证明 radio.c 使用的是 UTIL_TIMER,因此 timer_if.c 的实现是必要的。
举报

更多回帖

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