完善资料让更多小伙伴认识你,还能领取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; } } } 程序是在M0518串口例程上稍做修改的 |
|
相关推荐
1个回答
|
|
建议用示波器抓取串口上的波形去分析,怀疑还是发送端发来的数据就有问题
|
|
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 22:05 , Processed in 0.584931 second(s), Total 43, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号