硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1059|回复: 11
收起左侧

[UART] 请问一下各位大佬,为什么我这个串口循环发送数据,会时不时的卡顿两秒左右才能继续发送数据呢

[复制链接]

3

主题

12

回帖

21

积分

新手上路

积分
21
发表于 2024-9-12 17:34:35 | 显示全部楼层 |阅读模式
请问一下各位大佬,为什么我这个串口循环发送数据,会时不时的卡顿两秒左右才能继续发送数据呢
1e9c59a0786863bcf1db361ef1da17d9.png
ab8f57c8d9c10b6e62f2f775ba21c7c4.png
ec4e159af976c1a27d49fcbd8ecb2049.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115490
QQ
发表于 2024-9-13 09:39:11 | 显示全部楼层
不使用传输中断,仅仅查询方式串口循环发送看看正常不,如果正常说明硬件环境没问题,你的程序实现问题,看看是不是RxCplt接收完成代码里面的逻辑实现有问题。
回复

使用道具 举报

3

主题

12

回帖

21

积分

新手上路

积分
21
 楼主| 发表于 2024-9-13 10:32:28 | 显示全部楼层
eric2013 发表于 2024-9-13 09:39
不使用传输中断,仅仅查询方式串口循环发送看看正常不,如果正常说明硬件环境没问题,你的程序实现问题,看 ...

大佬,我刚刚使用printf循环打印helloworld,每隔200ms打印一次,也会出现时不时卡顿的情况
回复

使用道具 举报

5

主题

60

回帖

75

积分

初级会员

积分
75
发表于 2024-9-13 10:34:43 | 显示全部楼层
是把串口TX短接到RX上了么 ,如果这样看看发送和接收的中断优先级
回复

使用道具 举报

3

主题

12

回帖

21

积分

新手上路

积分
21
 楼主| 发表于 2024-9-13 10:41:56 | 显示全部楼层
让我看看各位 发表于 2024-9-13 10:34
是把串口TX短接到RX上了么 ,如果这样看看发送和接收的中断优先级

没有短接,就单独printf也会出现时不时停顿
回复

使用道具 举报

5

主题

60

回帖

75

积分

初级会员

积分
75
发表于 2024-9-13 14:26:59 | 显示全部楼层
zrf1 发表于 2024-9-13 10:41
没有短接,就单独printf也会出现时不时停顿


看看吧这个osdelay注释掉试一下
回复

使用道具 举报

3

主题

295

回帖

304

积分

高级会员

积分
304
发表于 2024-9-13 14:59:36 | 显示全部楼层
你这也不止一个任务啊,还有其他外设初始化,只用一个任务,只初始化串口,把最简单的串口跑通再说
回复

使用道具 举报

3

主题

12

回帖

21

积分

新手上路

积分
21
 楼主| 发表于 2024-9-13 15:35:58 | 显示全部楼层
可以了,我直接在main函数里面,任务调度之前用了个while循环发送数据就可以了,但是如果我想在这个任务里面实现循环发送数据的话怎么实现呢
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115490
QQ
发表于 2024-9-13 17:50:09 | 显示全部楼层
zrf1 发表于 2024-9-13 15:35
可以了,我直接在main函数里面,任务调度之前用了个while循环发送数据就可以了,但是如果我想在这个任务里 ...

可以用裸机一样的方式,看看运行是否正常
回复

使用道具 举报

33

主题

188

回帖

287

积分

高级会员

积分
287
发表于 2024-9-14 10:01:01 | 显示全部楼层
zrf1 发表于 2024-9-13 15:35
可以了,我直接在main函数里面,任务调度之前用了个while循环发送数据就可以了,但是如果我想在这个任务里 ...

试下只开这个任务 看正不正常
回复

使用道具 举报

3

主题

12

回帖

21

积分

新手上路

积分
21
 楼主| 发表于 2024-9-14 16:20:18 | 显示全部楼层
LinY 发表于 2024-9-14 10:01
试下只开这个任务 看正不正常

还是出现那种问题
回复

使用道具 举报

5

主题

60

回帖

75

积分

初级会员

积分
75
发表于 2024-9-14 16:44:52 | 显示全部楼层
zrf1 发表于 2024-9-14 16:20
还是出现那种问题

1.看一下rtos调用的时基,很可能是RTOS时基问题,
2.线程注册的问题 , 看一下线程是抢占式还是阻塞式
3.看一下线程的优先级, 可能被RTOS的线程打断导致串口发送延迟
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-4-28 23:24 , Processed in 0.304062 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表