Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
UART
STM32F1+RTT串口接收终端数据丢失问题
发布于 2016-06-21 17:45:20 浏览:4774
订阅该版
使用STM32F103,72Mhz主频,用RTT的串口驱动方式,以接收终端方式,配置了回调函数rt_err_t uart_input(rt_device_t dev, rt_size_t size),进入函数后使用rt_device_read读取数据。因为这种方式每次进入回调函数都是接收到1个字节,所以每次进去就调用rt_device_read取回buf,发现连续接收数据的时候,丢数据严重。9600波特率,串口助手连续发8个字节,只能收到5个字节。我在中断函数rt_hw_serial_isr中加了计数器,发现进入的次数也是5。回调函数里只有rt_device_read一个操作,没有其他代码,去掉这个函数后,接收数据个数正常。不知道为什么rt_device_read会消耗那么久的时间。之前用的F407,同样是接收每一个字节就进入回调的方式,回调函数里很多判断和处理代码,没有发现丢包情况。实在是搞不清怎么回事了~~~~不知道哪位遇到过,或者有什么思路可以解决这个问题? 注:如果定期去调用rt_device_read,而不采用中断方式,实时性就下来了。。。。。。。而且通信协议不定长,不能根据数量一次性rt_device_read读取。
查看更多
5
个回答
默认排序
按发布时间排序
aozima
2016-06-21
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
驱动是有buf的,buf是工作在中断状态下,9600肯定丢不了数据。 read可以一次读取多个数据,但即使每次1个,也不会丢。 至少finsh默认用115200也没见丢。 建议好好查下原因。 如果需要更高速率,可以改进驱动的处理方式,但9600都丢则是有错误末找到。
jackedison911
2016-06-21
这家伙很懒,什么也没写!
现在确实不知道应该从哪里找原因,如果不使用read的话,中断函数rt_hw_serial_isr响应次数是没有问题的,它里面有buf,是serial_device结构体里面的一个结构体,这里面的数据应该是不会丢的。所以现在我个人认为是read里面的代码写的不好。但是这是官方提供的,不知道从哪里去修改了,没有思路了。
须弥指间
2018-08-31
这家伙很懒,什么也没写!
不知道楼主找到原因没,我也遇到了 ,困惑中
swet123
2020-09-18
ztlchina@foxmail.com
使用方法有问题。
撰写答案
登录
注册新账号
关注者
0
被浏览
4.8k
关于作者
jackedison911
这家伙很懒,什么也没写!
提问
5
回答
8
被采纳
0
关注TA
发私信
相关问题
1
rt thread 2.0.2 usart 接收缓存问题
2
关于STM32串口通信的问题
3
UART TX丢数据?
4
RTT打开串口的时候如何自定义波特率呢?
5
STM32F4的USART数据接收问题
6
串口1234使用问题
7
串口接收回调函数
8
LPC18xx UART问题讨论
9
x1000串口配置的失败问题
10
如何用串口输出一个字符
推荐文章
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
RT-Thread项目助手v0.2.0 - 支持Env Windows
2
RttreadV5.10上,GD32F450Z RTC时间显示问题
3
rt-smart启动流程分析
4
EtherKit快速上手PROFINET
5
RTThread USB转串口无法接收数据
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
813
个答案
177
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
149
次被采纳
本月文章贡献
出出啊
1
篇文章
2
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
3
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部