lorawan
一 星纵网关日志:

二 收发确认标志:
lora_radio_driver提供SX126x/SX127x等LoRa芯片的驱动层支持,负责物理层通信;
lorawan_ed_stack是基于LoRaMAC-Node实现的终端设备协议栈,依赖前者完成射频操作
数据接收:通过lorawan_ed_app_callback_t 注册lorawan_ed_receive_message()函数,在该函数中释放事件标志LORAWAN_RX_DOWN,根据不同配置端口进行端口数据lorawan_ed_appdata_t解析【包含了接收信号的RSSI/SNR,可以据此实时分析信号质量】;
数据发送:
void OnTxDone( void ) { rt_event_send(tx_event, LORA_TX_OK); // 触发事件标志 }
方法1:lora_radio_driver的OnTxDone仅表示射频层发送完成。
- 中断触发点:在
RadioEvents.TxDone回调函数(通常为OnTxDone)中设置事件标志。该回调由射频芯片(如SX126x/SX127x)的硬件中断触发,需在中断服务程序(ISR)中调用rt_event_send()发送LORA_TX_OK标志【注意用RT_IPC_FLAG_PRIO防止优先级反转】。 - 代码位置:需在驱动初始化时注册回调函数,例如:
cCopy Code
RadioEvents.TxDone = OnTxDone; // 注册发送完成回调 Radio.Init(&RadioEvents); // 初始化射频模块
方法2:lorawan_ed_stack的OnTxDone表示节点协议层收到网关的ACK确认,MAC层确认(含ACK验证),这才是真正的发送成功标志。位置LoRaMacHandleTxDone函数内调用应用层回调
浙公网安备 33010602011771号