您好,在使用CC2650开发过程中,我碰到以下一个问题: 我希望连续发出3帧数据,每次数据帧发送时间需要保证约1000us完成,但在TI MAC开发环境中,每次数据帧的发送时间不同,也就是发送时间不可控.我是直接调用MSA_McpsDataReq()函数进行发送的。请问能通过什么方法解决,谢谢。
Viki Shi:
因为MAC_McpsDataReq发送数据需要分配缓存,而缓存只有在收到MAC Data Request的时候才会释放,如果连续多次调用,有可能出现缓存溢出的错误
The MAC can only buffer a certain number of data request frames. When the MAC is congested and cannot accept the data request it sends a MAC_MCPS_DATA_CNF with status MAC_TRANSACTION_OVERFLOW. Eventually the MAC will become uncongested and send a MAC_MCPS_DATA_CNF for a buffered request. At this point the application can attempt another data request. Using this scheme, the application can send data whenever it wants but it must queue data to be resent if it receives an overflow status.The data buffer passed to this function is allocated by the application. The application must not deallocate this buffer after calling this function; it must wait until it receives the MAC_MCPS_DATA_CNF for the frame.