完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
1,NUC442与某MCU连接,TX(指NUC端)发送数据,RX(指NUC端)接收数据,配置模式为 8位正常模式,波特率720K,正常操作通讯均正常;
2,这种情况下:NUC442给MCU通讯,但MCU并未供电,先通讯四次(第一次UART_FIFOSTS_RXEMPTY非空,后面3次都为空),然后再等MCU供电成功后,再次通讯,抓取波形,发送和回读数据均正确,但是NUC通过UART_Read_Byte(UART4,1000)读回的值总是会错位,即:读到的下次的数据永远是上次的数据;这点和示波器的结果对不上。 |
|
相关推荐
1个回答
|
|
可能的原因:
1. 信号电平问题,包括电平的高低和稳定性问题,可以通过示波器观察信号波形检查。 2. 波特率不匹配或误差过大,可能需要重新配置波特率或调整时钟频率。 3. 缓存溢出,当接收缓存满时,新的数据将覆盖旧的数据,导致数据错位。 解决方法: 1. 检查信号电平,并确保电平稳定和正确。 2. 确保NUC与MCU的波特率匹配,并尽量减小误差;如果频率误差过大,可以考虑使用更高精度的时钟。 3. 增加缓存区的大小,以避免缓存溢出的情况。 4. 通过发送端添加校验码,如循环冗余校验(CRC)或校验和来验证数据的准确性,以及在接收端进行数据校验和错误处理。 |
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2956 浏览 16 评论
3457 浏览 1 评论
8995 浏览 16 评论
4050 浏览 18 评论
1105浏览 3评论
570浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1857浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 23:32 , Processed in 1.132031 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号