Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
UART
STM32F1+RTT串口接收终端数据丢失问题
发布于 2016-06-21 17:45:20 浏览:4197
订阅该版
使用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.2k
关于作者
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
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
五分钟玩转RT-Thread新社区
5
国产MCU移植系列教程汇总,欢迎查看!
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
RTT平台 zephyr_polling软件包 SPI Bluenrg2 数据传输测试
2
RTT平台 zephyr_polling软件包 SPI Bluenrg2芯片宕机问题与修复
3
【线下培训】上海临港: RT-Thread × 瑞萨 工业监视器 RA6M3 HMI Board解决方案
4
梁山派GD32F450/470-RT-Thread Nano 移植
5
【Renesas GUI挑战赛】 智能家居控制系统
热门标签
RT-Thread Studio
串口
Env
LWIP
AT
SPI
Bootloader
FinSH
ART-Pi
CAN总线
Hardfault
USB
文件系统
DMA
RT-Thread
SCons
线程
RT-Thread Nano
MQTT
stm32
ESP8266
rt-smart
WIZnet_W5500
RTC
flash
ota
UART
packages_软件包
FAL
I2C
freemodbus
潘多拉开发板_Pandora
cubemx
定时器
BSP
PWM
ADC
socket
AB32VG1
SDIO
keil_MDK
中断
消息队列_msg_queue
编译报错
Debug
C++_cpp
msh
QEMU
SFUD
MicroPython
本月问答贡献
张世争
12
个答案
4
次被采纳
道友
39
个答案
3
次被采纳
CrazyH
47
个答案
2
次被采纳
踩姑娘的小蘑菇
14
个答案
2
次被采纳
xiaorui
5
个答案
2
次被采纳
本月文章贡献
螺丝松掉的人
4
篇文章
12
次点赞
paradox
4
篇文章
2
次点赞
BURRIEROW
2
篇文章
5
次点赞
小手凉凉
2
篇文章
4
次点赞
EPTmachine
2
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部