- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
串口透明传输实验说明
参考文档:xfzigbee 串口透明传输
SampleApp例程实验
增加一个事件
十六进制转字符函数【摘】
数据的发送,广播、组播、点对点
Z-stack1.4.3-1.2.1SampleApp DB
编译选项
CoordinatorDB
CC2430DB
HAL_UART
ZDO_COORDINATOR
EndDeviceDB
CC2430DB
NWK_AUTO_POLL
HAL_UART
修改地方hal_board_cfg.h
/*Set toTRUE enableUART usage, FALSEdisableit */
#ifndefHAL_UART
#if(definedZAPP_P1)|| (definedZAPP_P2)|| (definedZTOOL_P1)||
(definedZTOOL_P2)
#defineHAL_UART TRUE
#else
#defineHAL_UART TRUE
#endif/*ZAPP,ZTOOL */
#endif/*HAL_UART */
#ifHAL_UART
#defineHAL_UART_0_ENABLE TRUE
#defineHAL_UART_1_ENABLE FALSE
修改地方SampleApp.h
#defineUART_RX_CB_EVT 0x0002 //添加串口处理事件
修改地方SampleApp.c
串口配置
void SampleApp_Init( uint8 task_id)
{
……
//UART Configuration
halUARTCfg_t uartConfig;
uartConfig.configured= TRUE;
uartConfig.baudRate =HAL_UART_BR_38400;
uartConfig.flowControl =FALSE;
uartConfig.flowControlThreshold=1;
uartConfig.rx.maxBufSize =255;
uartConfig.tx.maxBufSize =255;
uartConfig.idleTimeout =1;
uartConfig.intEnable =TRUE;
uartConfig.callBackFunc=rxCB;
HalUARTOpen(HAL_UART_PORT_0,uartConfig);
……
}
回调函数rxCB
static voidrxCB(uint8port, uint8event )
{
// uint8 rxlen; //接收数据长度
// uint8* databuf;//接收数据块指针
externuint8SampleApp_TaskID;
uint16 short_ddr;
uint8short_ddr_H;
uint8short_ddr_L;
uint8*pointer1;
uint8word_buffer[10];
uint8*pointer9;
uint8str_enter[]={\n};
pointer9=str_enter[0];
short_ddr=NLME_GetShortAddr();
short_ddr_H=(uint8)((short_ddr0xff00)8);
short_ddr_L=(uint8)short_ddr;
rxlen=Hal_UART_RxBufLen(HAL_UART_PORT_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]=\n; //一字节存放换行符
HalUARTRead (HAL_UART_PORT_0, databuf+3, rxlen); //读接收缓冲区数据到内存databuf+3
#ifdefined(ZDO_COORDINATOR)
word_buffer[0]=0;
word_buffer[1]=0;
word_b
您可能关注的文档
最近下载
- 中医适宜技术在妇科的应用.pptx
- 乡土地理资源和课堂教学有机结合的实效性探究课题实施方案.doc
- 共振论:.doc VIP
- 《 中国人民站起来了》课件(34张PPT) 统编版高中语文选择性必修上册第一单元.pptx
- 英语字母组合发音规律.docx VIP
- 常见的新生儿体位管理.ppt
- 2023年韩山师范学院汉语言文学专业《现代汉语》期末试卷A(有答案).docx VIP
- MHT5078.2-2024 运输机场建设工程资料管理规程 第2部分:场道工程施工资料.pdf
- 【原创】《实施幼儿园礼仪教育的实践研究 》开题报告.pdf
- 普通高中数学课程标准试题与答案(2017年版2020年修订) .pdf
文档评论(0)