Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
串口缓冲区
RT_SERIAL_RB_BUFSZ
串口缓冲区存满的问题
发布于 2021-08-30 11:15:59 浏览:1996
订阅该版
运行libmodbus循环采集传感器数据,然后485转串口回传主芯片(stm32f429),但是每运行一段时间就会报如下图的警告,然后就无法接收到数据, 经过示波器的测量,主芯片仍在请求传感器数据,传感器也有回传数据,但是主芯片无法接收到数据内容,通过暂停请求半秒左右继续请求就恢复正常了,但是持续一段随机的时间就又出现异常。按理说每读取到一个数据缓冲区不久吧这个数据释放掉了吗,为什么缓冲区还会满?求大佬指导
查看更多
7
个回答
默认排序
按发布时间排序
小小李sunny
2021-08-30
这家伙很懒,什么也没写!
应该是你的接收处理有问题,没有及时的处理接收的数据,导致缓存区数据一直累积。检查一下你的接收处理部分的代码。
zhkag
2021-08-30
这家伙很懒,什么也没写!
也可以增大缓冲区,定时去清理缓存区里面的数据,为防止一些数据偶尔没有被释放掉的情况
游走在01的海洋
2021-08-30
In the end, it's not the years in your life that count. It's the life in your years.
一、增大缓存区大小; 二、及时处理并清除缓存区数据; 三、存储时检测是否超过缓存区大小,快要存满时进行相关处理;
出出啊
2021-08-30
恃人不如自恃,人之为己者不如己之自为也
应用层线程调用不及时,缓冲区的数据来不及取走,把整片内存剩余空间都留给串口都没用。 1. 要么降低串口波特率。 2. 要么提升处理数据的线程的响应速度。 “按理说每读取到一个数据缓冲区不久吧这个数据释放掉了吗,为什么缓冲区还会满?”,解释一下这句。串口的缓冲区是一个 fifo 没有每次都申请或者不久释放的说法。可以和预约办理业务类比,预约人数有上限,人满了就不能预约了。有空余数才能继续预约。预约人比较多,办理业务慢,就出现很多人预约不了的情况;只有加快处理业务的吞吐量,才能从根本上解决问题。
syf
2021-08-30
陆战之王十三爷
 是libmodbus里面加上这段代码,因为传输过程中信号线中可能会传过来乱码,导致发过来10个数你可能只取走了4个然后慢慢积累导致串口缓冲区填满,加上这个错误恢复模式,目前测试1小时没出现bug,明天跑长期试试
李肯陪你玩赚嵌入式
认证专家
2021-09-03
2022年度和2023年度RT-Thread社区优秀开源布道师,COC深圳城市开发者社区主理人,专注于嵌入式物联网的架构设计
一般来说,UART接受FIFO满的情况,就是对已接收的数据处理不够及时导致的,可以关注下任务优先级,看看有没有影响。
lqwuliang
2022-02-21
天下没有解决不了的bug,只有发现不了的bug.
一、增大缓存区大小; 二、及时处理并清除缓存区数据; 三、存储时检测是否超过缓存区大小,快要存满时进行相关处理;
撰写答案
登录
注册新账号
关注者
0
被浏览
2k
关于作者
syf
陆战之王十三爷
提问
5
回答
6
被采纳
0
关注TA
发私信
相关问题
1
串口打印警告问题,(RT_SERIAL_RB_BUFSZ)
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
ART-Pi2快速上手--点灯
2
ART-Pi2移植CMSIS-DAP(基于CherryUSB协议栈)
3
RT-thred的stm32h723对应bsp包CubeMX添加其他外设报错
4
RT-Thread中的time溢出问题,时间戳溢出,解决方法
5
ART-PI使用env驱动ETH网卡,pc和板子可以ping通
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
I2C_IIC
UART
ESP8266
cubemx
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
ulog
SFUD
msh
C++_cpp
MicroPython
本月问答贡献
RTT_逍遥
9
个答案
2
次被采纳
xiaorui
3
个答案
2
次被采纳
winfeng
2
个答案
2
次被采纳
三世执戟
8
个答案
1
次被采纳
KunYi
8
个答案
1
次被采纳
本月文章贡献
lizimu
2
篇文章
6
次点赞
catcatbing
2
篇文章
5
次点赞
swet123
1
篇文章
4
次点赞
Days
1
篇文章
4
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部