1,indirect发送,这种方式仅限coordination对device发送,首先,主发设备要用MAC_InitCoord()函数初始化,有了这个函数,这个函数的功能是让设备具有以下功能:1)indirect模式发送;2)Associated中的受的功能(MAC_InitDevice()函数能让设备具有Associated的攻的功能);在使用indirect方式发送的时候,主发设备调用MAC_McpsDataReq()函数,参数中的->mac.txOptions使能MAC_TXOPTION_INDIRECT位,然后等待从设备执行MAC_MlmePollReq()函数,发出poll给主设备。主设备收到poll后会把数据包发给从设备。 由于数据包是缓存在主设备中的,这个缓存的超时时间默认值为500,500*15ms = 7.5秒。这个值可以用MAC_MlmeGetReq(MAC_TRANSACTION_PERSISTENCE_TIME, &time)来获取,也可以用MAC_MlmeSetReq(MAC_TRANSACTION_PERSISTENCE_TIME, &time)来修改。另外,初始化的时候需执行MAC_MlmeResetReq(TRUE)
|