TI中文支持网
TI专业的中文技术问题搜集分享网站

zstack中串口回调函数的调用

预编译时,使用了ZTOOL_P1,所以串口初始化时,回调函数uartConfig.callBackFunc = MT_UartProcessZToolData;,此MT_UartProcessZToolData函数从rxBuf读取数据。

比较疑惑的一点是,什么时候会触发MT_UartProcessZToolData函数的调用,是时间触发还是事件触发,还是其他情况也会触发?

Martin:

Hi Zhenxing

Zstack中串口的回调函数由HalUARTPoll() 函数触发,在 Components\hal\common\hal_drivers.c文件下的Hal_ProcessPoll()函数里。

从整个系统角度来说,HalUARTPoll() 函数在osal_system_start()这个无限循环运行的函数里面被调用。

 可参考:http://e2e.ti.com/support/low_power_rf/f/158/t/17886.aspx

zhenxing wang1:

回复 Martin:

谢谢您的回复,按照您讲的看了一下,大致明白。再追问2个问题:(1)串口回调函数是从rxBuy读取数据,那么数据是怎么从U0DBUF到的rxBuf的?协议栈我用得是DMA方式。(2)使用时,是不是需要保证数据全部由U0DBUF经DMA方式进入rxBuf以后,再调用串口的回调函数?

Martin:

回复 zhenxing wang1:

可以具体参考SerialApp看看串口回调函数的触发即使用过程:

DMA方式下: HalUARTPollDMA 函数触发回调函数

                         HalUARTReadDMA 函数读取数据

赞(0)
未经允许不得转载:TI中文支持网 » zstack中串口回调函数的调用
分享到: 更多 (0)