完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
M0518用串口接收数据时出问题。发送端共发送3个字节,固定第一字节数据会改变,其它两个字节的数据一直为0,可是接收端收到的数据,第一个字节是正常的,后面的第二、三字节却是乱的。本应为0的,但是像随机一样的数据;如果固定第二个字节数据变化,第一、三字节固定为0时,则接收到的,第二个字节正常,第一、三字节又是乱的,不为0。
收发的波特率是一样的。 接收中断如下: /* 接收中断 */ void UART02_IRQHandler(void) { uint8_t u8InChar = 0; uint32_t u32IntSts = UART0->ISR; static uint8_t rec_cnt=0; if(u32IntSts & UART_ISR_RDA_INT_Msk) { while(UART_IS_RX_READY(UART0)) { u8InChar = UART_READ(UART0); /* Check if buffer full */ rec_buf[rec_cnt] = u8InChar; rec_cnt++; if(rec_cnt >= 3) rec_cnt = 0; } } } |
|
相关推荐
1个回答
|
|
可能出现乱码的原因包括:
1.波特率不匹配:发送端和接收端的波特率必须是相同的才能正常通信。 2. 数据位、校验位、停止位设置不正确:数据位、校验位、停止位必须与发送端设置相同才能正常通信。 3.接线不正确:请检查接线是否正常连接。 4. 延迟问题:如果发送端和接收端都缺少延迟,可能导致数据在中间丢失。建议发送端和接收端都添加合适的延迟。 针对您的问题,建议重新检查波特率设置、数据位、校验位、停止位设置和接线是否正确。如果需要,可以添加延迟。如果问题仍然存在,可能需要进一步排查硬件或代码问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
791 浏览 0 评论
1151 浏览 1 评论
2527 浏览 5 评论
2860 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2710 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1070浏览 3评论
193浏览 2评论
455浏览 2评论
368浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
453浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 14:06 , Processed in 1.019049 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号