TI大神!您好
请问在TI15.4 协议栈的使用中,调用用那个接口或者查询那个标志位、或者事间callback函数能够获得无线链路发送队列的状况(空,有消息等待发送)
因为在我们的工程案例中,需要时刻感知RF发送硬件是否在工作或者是否处于休眠状态。
有什么办法可以感知到RF发送队列是否已经清空?
Viki Shi:
你们用的是哪个发送API?
user5153918:
回复 Viki Shi:
我们采用的是TI15.4协议栈里的:
static bool sendMsg(Smsgs_cmdIds_t type, uint16_t dstShortAddr, bool rxOnIdle,uint16_t len,uint8_t *pData)
我看该接口中用于数据发送请求的接口是:
ApiMac_status_t ApiMac_mcpsDataReq(ApiMac_mcpsDataReq_t *pData)
Viki Shi:
回复 user5153918:
可查看该函数的返回值:
user5153918:
回复 Viki Shi:
查看过了,这个接口只是吧发送数据缓存到mac 的发送队列中,加入成功后返回 ApiMac_status_success,但这时,数据并没有真正发送
user5153918:
回复 user5153918:
同时 我们经过实际测试也是这种结构
Viki Shi:
回复 user5153918:
没有看到有清空队列的API,不过可以增加TX buffer,修改mac_cfg.c文件中的"MAC_CFG_TX_MAX" 和 "MAC_CFG_TX_DATA_MAX"
user5153918:
回复 Viki Shi:
您你的意思是吧MAC中的RF队列干掉,用我自己的发送队列?
可是 我的九所MAC中队列为一,我还是需要知道这一个信息什么时候发送结束。
user5153918:
回复 Viki Shi:
IOC_PORT_RFC_GPO0
IOC_PORT_RFC_GPO1
我查到资料说 这两个Pin是硬件用来表示发送和接收的,不知道能否从这两个PIN入手,感知MAC的发送和接收状态?
Viki Shi:
回复 user5153918:
你是指将RF输出映射到LaunchPad的引脚上,以进行RF信号调试?可以用于确定设备是否在正确的窗口中进行发送或接收。
但是这部分没有例程,只有文档,请参考TRM的23.3.2.8 External Signaling一节。
还有dev.ti.com/…/signal-routing.html