OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3754|回复: 10

串口是如何工作的

[复制链接]

16

主题

112

帖子

0

精华

高级会员

Rank: 4

积分
818
金钱
818
注册时间
2014-10-22
在线时间
589 小时
发表于 2016-10-9 16:00:46 | 显示全部楼层 |阅读模式
5金钱
举例来说 LED0=1;
printf(“x=%d”,num);
LED0=0;
这里led灯关到开需要多久跟波特率有关吗?就是说发送数据要做的就是写数据到相关寄存器,写完就可以运行下一条程序,还是要等发送完后才能去运行下一条程序?




最佳答案

查看完整内容[请看2#楼]

当然和波特率有关,波特率越快,这个时间越短
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2016-10-9 16:00:47 | 显示全部楼层
当然和波特率有关,波特率越快,这个时间越短
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13100
金钱
13100
注册时间
2012-11-26
在线时间
3811 小时
发表于 2016-10-9 16:05:45 | 显示全部楼层
在没有抢占(OS抢占,中断抢占)的情况下,发送完才运行下一句,否则处理完抢占,回来继续发
回复

使用道具 举报

2

主题

49

帖子

0

精华

高级会员

Rank: 4

积分
812
金钱
812
注册时间
2016-3-9
在线时间
83 小时
发表于 2016-10-10 08:44:55 | 显示全部楼层
你看看视频教程嘛,我的理解是,ARM是高级芯片,灯跟波特率无关,你这个三条语句中printf就是一条重定义的串口打印语句而已.三条语句之间的时间很短.
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-10-10 09:28:07 | 显示全部楼层
VicRobin 发表于 2016-10-10 08:44
你看看视频教程嘛,我的理解是,ARM是高级芯片,灯跟波特率无关,你这个三条语句中printf就是一条重定义的串口 ...

。。。。。如果重映射到串口输出,你设个低比特率,第二天语句运行的时间短??
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-10-10 09:30:41 | 显示全部楼层
楼主如果用的是原子的教程,灯开关的时间跟波特率有关是有关的,跟你的num是几位数也有关。
回复

使用道具 举报

2

主题

60

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
206
金钱
206
注册时间
2016-7-26
在线时间
33 小时
发表于 2016-10-10 11:31:35 | 显示全部楼层
2#正解
回复

使用道具 举报

2

主题

49

帖子

0

精华

高级会员

Rank: 4

积分
812
金钱
812
注册时间
2016-3-9
在线时间
83 小时
发表于 2016-10-10 13:12:11 | 显示全部楼层
憨厚诚实大叔 发表于 2016-10-10 09:28
。。。。。如果重映射到串口输出,你设个低比特率,第二天语句运行的时间短??

你误会我了吧,我说的是这条语句运行时间短.没说...
回复

使用道具 举报

7

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2016-10-10
在线时间
16 小时
发表于 2016-10-10 15:21:32 | 显示全部楼层
!!
回复

使用道具 举报

84

主题

766

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2775
金钱
2775
注册时间
2015-6-1
在线时间
394 小时
发表于 2016-10-10 16:14:47 | 显示全部楼层
jermy_z 发表于 2016-10-9 16:05
在没有抢占(OS抢占,中断抢占)的情况下,发送完才运行下一句,否则处理完抢占,回来继续发

一般不能让抢占打断串口输出吧?串口输出的优先级是不是都很高?不然输出的数据不就乱套了么。
自在随心
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13100
金钱
13100
注册时间
2012-11-26
在线时间
3811 小时
发表于 2016-10-10 16:38:18 | 显示全部楼层
yuzeyuan1 发表于 2016-10-10 16:14
一般不能让抢占打断串口输出吧?串口输出的优先级是不是都很高?不然输出的数据不就乱套了么。

既然有主见了,那就跟着自己认为的走
学无止境
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-24 04:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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