串口透明传输实验说明

串口透明传输实验说明

ID:5420096

大小:183.82 KB

页数:9页

时间:2017-12-10

串口透明传输实验说明_第1页
串口透明传输实验说明_第2页
串口透明传输实验说明_第3页
串口透明传输实验说明_第4页
串口透明传输实验说明_第5页
资源描述:

《串口透明传输实验说明》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、参考文档:xfzigbee串口透明传输SampleApp例程实验增加一个事件十六进制转字符函数【摘】数据的发送,广播、组播、点对点Z-stack1.4.3-1.2.1SampleAppDB编译选项CoordinatorDBCC2430DBHAL_UARTZDO_COORDINATOREndDeviceDBCC2430DBNWK_AUTO_POLLHAL_UART修改地方hal_board_cfg.h/*SettoTRUEenableUARTusage,FALSEdisableit*/#ifndefHAL_UART#if(define

2、dZAPP_P1)

3、

4、(definedZAPP_P2)

5、

6、(definedZTOOL_P1)

7、

8、(definedZTOOL_P2)#defineHAL_UARTTRUE#else#defineHAL_UARTTRUE#endif/*ZAPP,ZTOOL*/#endif/*HAL_UART*/#ifHAL_UART#defineHAL_UART_0_ENABLETRUE#defineHAL_UART_1_ENABLEFALSE修改地方SampleApp.h#defineUART_RX_CB_EVT0x0002//添加串口处理事件修改地

9、方SampleApp.c串口配置voidSampleApp_Init(uint8task_id){……//UARTConfigurationhalUARTCfg_tuartConfig;uartConfig.configured=TRUE;uartConfig.baudRate=HAL_UART_BR_38400;uartConfig.flowControl=FALSE;uartConfig.flowControlThreshold=1;uartConfig.rx.maxBufSize=255;uartConfig.tx.maxBu

10、fSize=255;uartConfig.idleTimeout=1;uartConfig.intEnable=TRUE;uartConfig.callBackFunc=rxCB;HalUARTOpen(HAL_UART_PORT_0,&uartConfig);……}回调函数rxCBstaticvoidrxCB(uint8port,uint8event){//uint8rxlen;//接收数据长度//uint8*databuf;//接收数据块指针externuint8SampleApp_TaskID;uint16short_ddr;

11、uint8short_ddr_H;uint8short_ddr_L;uint8*pointer1;uint8word_buffer[10];uint8*pointer9;uint8str_enter[]={''};pointer9=&str_enter[0];short_ddr=NLME_GetShortAddr();short_ddr_H=(uint8)((short_ddr&0xff00)>>8);short_ddr_L=(uint8)short_ddr;rxlen=Hal_UART_RxBufLen(HAL_UART_PO

12、RT_0);//接收缓冲区数据长度,字节为单位databuf=osal_mem_alloc(rxlen+1+2);//多分配3字节,分配如下databuf[0]=rxlen;//一字节存放数据长度databuf[1]=short_ddr_H;//一字节存放源地址高8位databuf[2]=short_ddr_L;//一字节存放源地址低8位databuf[rxlen+1]='';//一字节存放换行符HalUARTRead(HAL_UART_PORT_0,databuf+3,rxlen);//读接收缓冲区数据到内存databuf+3

13、#ifdefined(ZDO_COORDINATOR)word_buffer[0]='0';word_buffer[1]='0';word_buffer[2]='0';word_buffer[3]='0';#elseword_buffer[0]='7';word_buffer[1]='9';word_buffer[2]='6';word_buffer[3]='F';#endifword_buffer[4]=':';word_buffer[5]=databuf[0]/100+48;word_buffer[6]=(databuf[0]%

14、100)/10+48;word_buffer[7]=databuf[0]%10+48;word_buffer[8]='';pointer1=word_buffer;//HalUARTWrite()写入串口正确说明数据已经正确地存储

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。