求解z-stack中HalUARTWrite ()的用法?

rcwust2009 2010-11-23 11:08:22
进来在学习zigbee,我在void SampleApp_Init( uint8 task_id )这个函数中进行了串口的初始化,。但是在随后的调用中发现,pc机上只能接受一次2430传来的数据。很迷惑,请高手解释一下。
更详细的内容:
#if defined( HAL_UART )
//open(SampleApp_TaskID);
halUARTCfg_t uartConfig; //串口配置信息

uartConfig.configured = TRUE; // 2430 don't care.

uartConfig.baudRate = HAL_UART_BR_38400; //波特率

uartConfig.flowControl = FALSE; //硬件流

uartConfig.flowControlThreshold =48; //SERIAL_APP_THRESH //流控阀值,

uartConfig.rx.maxBufSize =64; //SERIAL_APP_RX_MAX //最大接收量

uartConfig.tx.maxBufSize =64; //SERIAL_APP_TX_MAX //最大发送量

uartConfig.idleTimeout =6; //SERIAL_APP_IDLE // 2430 don't care.

uartConfig.intEnable = TRUE; // 2430 don't care.



uartConfig.callBackFunc = rxCB; //接收回调函数


HalUARTOpen (0, &uartConfig); //打开串口0


#endif
回调函数的内容:
void rxCB( uint8 port, uint8 event )

{



uint8 *uart_buf;

uart_buf=(uint8 *)"test";
//HalUARTWrite( 0, uart_buf, rxlen );//返送到串口,调试用
HalUARTWrite( 0, uart_buf, 4);//返送到串口,调试用

// osal_set_event( SampleApp_TaskID, SPI_INCOMING_ZTOOL_PORT );
//最后一句新添加的
}
...全文
2284 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
youyoubaihehua 2011-01-17
  • 打赏
  • 举报
回复
在osal_system_start函数中有个串口轮询函数,里面调用了pollDMA。这个函数就是在SPIMgr_int函数中第一次调用就OpenUart用于接收数据了,可能你说的只接收了一次传输数据只调用了初始化函数,并没有对UART进行轮询

3,846

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 无线
社区管理员
  • 无线
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧