170806 通信-ZigBee协议栈串口实验
来源:互联网 发布:东华软件西安分公司 编辑:程序博客网 时间:2024/06/06 00:37
1625-5 王子昂 总结《2017年8月5日》 【连续第307天总结】
A. ZigBee协议栈串口通信
B.
串行简介
串行接口(Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要一
对传输线就可以实现双向通信,从而大大降低了成本,特别适用于远距离通信,但传送速度较
慢。一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。串行通讯的特点是:数据
位的传送,按位顺序进行,最少只需一根传输线即可完成;成本低但传送速度慢。串行通讯的距
离可以从几米到几千米;根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工
三种。
串口使用步骤
串口初始化
注册串口任务
串口发送
修改代码的位置主要在APP文件夹下的SampleApp.c和SampleApp.h,如果增加传感器则增加相应的模块驱动到APP里,在SampleApp.c中调用即可
在SampleApp.c中初始化
基础实验中通常是自己配置寄存器来初始化串口号、波特率等等,在hal_uart.c文件中可以找到封装好的初始化、发送和接收等函数,直接调用即可
MT_UartInit();设置串口参数 void MT_UartInit () { halUARTCfg_t uartConfig; /* Initialize APP ID */ App_TaskID = 0; /* UART Configuration */ uartConfig.configured = TRUE; uartConfig.baudRate = MT_UART_DEFAULT_BAUDRATE; uartConfig.flowContro l = MT_UART_DEFAULT_OVERFLOW; uartConfig.flowControlThreshold = MT_UART_DEFAULT_THRESHOLD; uartConfig.rx.maxBufSize =MT_UART_DEFAULT_MAX_RX_BUFF; uartConfig.tx.maxBufSize = MT_UART_DEFAULT_MAX_TX_BUFF; uartConfig.idleTimeout =MT_UART_DEFAULT_IDLE_TIMEOUT; uartConf ig.intEnable = TRUE; #if defined (ZTOOL_P1) || defined (ZTOOL_P2) uartConfig.callBackFunc = MT_UartProcessZToolData; #elif defined (ZAPP_P1) || defined (ZAPP_P2) uartConfig.callBackFunc = MT_UartProcessZAppData; #else uartConfig.callBackFunc = NULL; #endif /* Start UART */ #if defined (MT_UART_DEFAULT_PORT) HalUARTOpen (MT_UART_DEFAULT_PORT, &uartConfig); #else /* Silence IAR compiler warning */ (void)uartConfig; #endif /* Initialize for ZApp */ #if defined (ZAPP_P1) || defined (ZAPP_P2) /* Default max bytes that ZAPP can take */ MT_UartMaxZAppBufLen = 1; MT_UartZAppRxStatus = MT_UART_ZAPP_RX_READY; #endif }
其中uartConfig.baudRate = MT_UART_DEFAULT_BAUDRATE;是配置波特率,右击go to definition of可以找到MT_UART_DEFAULT_BAUDRATE的定义,将其修改为指定的即可
uartConfig.flowControl = MT_UART_DEFAULT_OVERFLOW;是配置流控,同样方法可以通过修改定义为TRUE/FALSE来改变。默认是打开流控的,注意如果只连了TX/RX2根线需要关闭流控
然后添加注册语句 MT_UartRegisterTaskID(task_id); //注册串口任务任务
最后使用即可
HalUARTWrite(0,"UartInit OK\n", sizeof("UartInit OK\n")); //串口发送
C. 明日计划
ZigBee协议栈
- 170806 通信-ZigBee协议栈串口实验
- ZigBee组网学习笔记(三 )--协议栈串口实验
- Zigbee串口通信
- zigbee协议栈串口收发扩展
- ZigBee串口发送(非协议栈)
- 170806 通信-ZigBee协议栈广播组网(接收)
- ZigBee CC2530串口通信调试
- zigbee学习之串口通信
- zigbee网关 java 串口通信
- 实验:协议栈之串口基础实验
- Zigbee之旅(五):几个重要的CC2430基础实验——串口通信
- Zigbee协议栈内核分析 – 串口分析
- zigbee协议栈应用(六)zigbee串口透传之无线QQ
- ZigBee组网学习笔记(四)--协议栈按键实验
- 单片机串口通信实验
- 串口通信实验
- 串口通信实验
- 170809 通信-ZigBee协议栈广播组网(发送)
- thinkphp 数据分页
- 2017 Multi-University Training Contest
- 自定义左侧博客栏目
- Linux安装Redis和php的redis扩展
- TCP/IP
- 170806 通信-ZigBee协议栈串口实验
- 菜鸟学工具——idea实现类似VS中region折叠块
- iOS开发大神必备的Xcode插件
- 用openssl生成加密的密码文件脚本
- JavaScript实现简易日历效果
- 分分钟的碎碎念
- 479. Largest Palindrome Product
- MBProgressHUD提示框简单实用的封装
- Java实现邮箱验证