完善资料让更多小伙伴认识你,还能领取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超过自定义时长后,就判断为超时,全部接收。 |
|
|
|
只有小组成员才能发言,加入小组>>
456 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2865 浏览 2 评论
2352 浏览 1 评论
801浏览 2评论
CH569通过HSPI实现USB3.0和FPGA高速双向通讯
626浏览 1评论
489浏览 1评论
CH32F103C8T6使用当前官网上的CDC例程会出现设备描述符请求失败
353浏览 1评论
628浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 15:39 , Processed in 0.951194 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号