一些心得,总结一下,哪里不对,欢迎指正~~
1. 用到zigbee,使用STM32串口通讯,首先使用查询标志位的方式接收,测试结果不满意,所以改为了 中断接收,在ISR中往环形buffer里放数,外部的接收函数从buffer里读数,ISR和接收函数共同维护一个 接收长度,修改后,从zigbee协调器发数,收数正常,及时。
2. 开始发送函数也采用查询标志位,zigbee协调器端显示应该是收到的数+2字节路由器自定义地址,但显示为 2字节地址前后,有数量不等的0x00,后来也是使用发送中断解决了此问题,同样发送函数和ISR维护一个 环形buffer。
3. 发送n包数据,协调器接收时,时常会丢包,增加STM32端2次发送间隔时间,接收情况大为改善,应该是 zigbee跟不上STM32的趟。
|