欢迎来到天天文库
浏览记录
ID:5420096
大小:183.82 KB
页数:9页
时间:2017-12-10
《串口透明传输实验说明》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
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()写入串口正确说明数据已经正确地存储
此文档下载收益归作者所有