完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
len = UART1_RecvString(RxBuff);
if(len) { PRINT("RECV_OK"); UART1_SendString(RxBuff, len); } 这个代码 下载后,可以每次都转发收到得数据,但是print不会执行输出,并且在反复转发十几遍后会连续打印出来几十个print得字符串就是“recv_ok”,请问是不是库函数得问题,要如何解决 |
|
相关推荐
2个回答
|
|
使用默认的工程配置,需要在PRINT字符串后面加一个‘n’才显示,比如这样写PRINT("RECV_OKn");
|
|
|
|
您好,R8_UART1_RFC在收到第一个字节数据的时已经置为了1,在没有占用串口PRINT的情况下,在下一个字节收到之前就已经处理完了这1个字节数据,等待下个字节,也就是说会逐个字节处理。PRINT打印“recv-ok”需要一段时间,这段时间刚好够接收接下来的3个字节,故出现以上现象。
建议使用串口中断,FIFO设置字节触发可以避免逐个字节处理。非要用查询的话也可以自行添加逻辑,比如说R8_UART1_RFC小于n时就不接收BRB中的数据,若一直小于n超过自定义时长后,就判断为超时,全部接收。 |
|
|
|
只有小组成员才能发言,加入小组>>
319 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2782 浏览 2 评论
2289 浏览 1 评论
200浏览 2评论
297浏览 2评论
374浏览 2评论
276浏览 2评论
CH579芯片用WCH-Link烧写后部分程序失效如何恢复?
289浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-20 18:46 , Processed in 0.865288 second(s), Total 47, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号