我在用CC2530 ,Z-Stack2.5.1a的协议栈,在节点处串口输入数组,并做奇偶校验,在115200波特率下可以成功实现奇偶校验,输出0x11,在115200以下的波特率,如9600~57600的波特率下,校验出现错误,输出0x00并出现乱码状态。如下图,请问各位大佬这是哪里出现问题了?
user5857605:
这个是115200波特率下的输出结果,第一个字节是检测1的个数,第二个字节是输出结果
Viki Shi:
怀疑跟数据收发机制有问题,之前也碰到类似问题,最终查到原因是前面的数据被后发的数据覆盖
上下位机的波特率是一致的吧?是否每次都出现乱码?
user5857605:
回复 Viki Shi:
感谢您的指导,波特率是一致的,就是只能115200波特率的时候才能正确输出结果,再低的波特率会出现不同程度的乱码,在9600的时候会达到30个字节的乱码。。而且事每次都会出现
Viki Shi:
回复 user5857605:
是不是波特率设置有问题?请按照用户手册17.4节设置相关寄存器:www.ti.com.cn/…/swru191f.pdf推荐两个例子供参考:blog.csdn.net/…/72723458 blog.csdn.net/…/78490504
user5857605:
回复 Viki Shi:
感谢您的指导,我的波特率设置跟这两个例子上的设置相同,同时我还增加了4800、14400的波特率设置进行试验,但是实验结果仍是乱码,我实在是不知道哪里出问题了。。
user5857605:
回复 Viki Shi:
这是在115200波特率下传输的正确结果,在9600波特率下的结果在下面
user5857605:
回复 Viki Shi:
这是9600波特率下的结果,跟115200波特率下的正确结果差异很大,而且乱码,最后的0x00是我校验不通过的标志。