OpenEdv-开源电子网

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

串口的标志位 USART_FLAG_TXE 和USART_FLAG_TC的理解;

[复制链接]

30

主题

104

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
244
金钱
244
注册时间
2015-8-9
在线时间
0 小时
发表于 2015-9-2 11:05:39 | 显示全部楼层 |阅读模式
5金钱
大家好,原子哥好;
我在看串口的内容,看到状态标志位的时候,发现USART_FLAG_TXE 和USART_FLAG_TC,如图;
我怎么感觉二者的作用是相同的呢?比如第一个标志位为1的时候,不就是代表寄存器的数据发送完毕了吗?
第二个为1不上也是表示数据发送完毕吗?那为什么还要搞两个呢,这不重复吗?
请各位大师指点,看看我的理解哪里有误,同时能给我讲讲二者区别最好了,帮忙指点;谢谢

最佳答案

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

1是该寄存器为空,可以往里存放数据  2是该寄存器中的数据已全部发送完成
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

794

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
1502
金钱
1502
注册时间
2015-3-3
在线时间
460 小时
发表于 2015-9-2 11:05:40 | 显示全部楼层
1是该寄存器为空,可以往里存放数据
 2是该寄存器中的数据已全部发送完成
回复

使用道具 举报

3

主题

794

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
1502
金钱
1502
注册时间
2015-3-3
在线时间
460 小时
发表于 2015-9-2 19:08:14 | 显示全部楼层
看参考手册USART_SR
回复

使用道具 举报

30

主题

104

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
244
金钱
244
注册时间
2015-8-9
在线时间
0 小时
 楼主| 发表于 2015-9-10 22:55:55 | 显示全部楼层
回复【2楼】hpeng1874:
---------------------------------
是啊,但是感觉一样的意思啊;这个寄存器空了不就是发送完了吗?发送完了也就可以再往里面方数据了啊;
回复

使用道具 举报

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11477
金钱
11477
注册时间
2014-4-1
在线时间
1298 小时
发表于 2015-9-11 07:41:25 | 显示全部楼层
回复【4楼】wolfcan:
---------------------------------
TXE是指“弹仓”空;
TC是“枪膛”空。
回复

使用道具 举报

30

主题

104

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
244
金钱
244
注册时间
2015-8-9
在线时间
0 小时
 楼主| 发表于 2015-9-11 09:37:18 | 显示全部楼层
谢谢;刚看了一下参考手册;TC不仅是枪膛空了,弹仓也空了,你觉得呢?谢谢
回复

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2014-1-20
在线时间
3 小时
发表于 2016-4-22 09:21:29 | 显示全部楼层
解释的好
回复

使用道具 举报

44

主题

298

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
209
金钱
209
注册时间
2016-9-9
在线时间
84 小时
发表于 2016-10-12 17:02:46 | 显示全部楼层
hpeng1874 发表于 2015-9-2 11:05
1是该寄存器为空,可以往里存放数据
 2是该寄存器中的数据已全部发送完成

这两句话不是一个意思吗? 全部发完了,本来不就清空了吗?
回复

使用道具 举报

18

主题

79

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
302
金钱
302
注册时间
2016-10-1
在线时间
77 小时
发表于 2016-10-14 16:33:58 | 显示全部楼层
受益良多
回复

使用道具 举报

14

主题

140

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1116
金钱
1116
注册时间
2015-12-20
在线时间
118 小时
发表于 2016-10-20 15:01:05 | 显示全部楼层
是否可以理解TXE效率高些,TC稳妥些?
回复

使用道具 举报

7

主题

90

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
325
金钱
325
注册时间
2016-10-21
在线时间
43 小时
发表于 2016-10-21 15:41:24 | 显示全部楼层
xuande 发表于 2015-9-11 07:41
回复【4楼】wolfcan:
---------------------------------
TXE是指“弹仓”空;
TC是“枪膛”空。

这个形象。
也就是说,你写数据到串口时,是装入弹仓,硬件会将数据移到枪膛,这时,TXE为1,TC为0,STM32硬件的TX脚正在发送数据,但你还可以装入数据到弹仓,装入后,TXE为0,TC为0.
TX发送完一个数据后,立即将数据从弹仓移入枪膛,这时,TXE为1,TC为0.
最后TX发送完数据,你又没有装入新数据,这时。TXE为1,TC为1.
回复

使用道具 举报

0

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2013-9-26
在线时间
10 小时
发表于 2016-10-22 17:55:05 | 显示全部楼层
发空标志,流控用
回复

使用道具 举报

4

主题

66

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3324
金钱
3324
注册时间
2016-11-9
在线时间
296 小时
发表于 2017-3-5 16:33:40 | 显示全部楼层
受教了
回复

使用道具 举报

5

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2016-8-30
在线时间
13 小时
发表于 2017-3-17 23:35:58 | 显示全部楼层
我想知道这些参数的注释去哪查?固件库的使用说明里有好多函数都没有相关说明?
回复

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2017-3-28
在线时间
1 小时
发表于 2017-4-16 08:32:26 | 显示全部楼层
赞一个
回复

使用道具 举报

18

主题

94

帖子

0

精华

高级会员

Rank: 4

积分
571
金钱
571
注册时间
2016-5-30
在线时间
87 小时
发表于 2017-4-17 11:08:10 | 显示全部楼层
灰常形象
回复

使用道具 举报

29

主题

338

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1181
金钱
1181
注册时间
2018-4-13
在线时间
170 小时
发表于 2018-7-13 17:04:45 | 显示全部楼层
很形象的比喻。
我的理解是这样的,如果用装在枪上的弹夹比作移位寄存器,用拿在右手里的弹夹比作数据寄存器,用弹夹袋比作数据缓冲区,那么右手空意味着没有弹夹了,没有数据可以再装弹了,此时枪上的弹夹不一定发射完毕,TXE置位,要求右手尽快拿出弹夹。如果弹袋空且右手空且上膛的弹夹也发射完毕,此时TXE置位、TC也置位。
在连续多个弹夹供弹下,则右手把弹夹上膛后,发出TXE标识,要求再拿出一个弹夹准备装载。在弹袋空右手空且弹夹已经发射完毕,则TXE置位,TC置位。
如果弹仓只有一个弹夹,装载该弹夹后右手空,TXE置位。在发射完毕后不仅TXE置位,TC也置位。


回复

使用道具 举报

37

主题

212

帖子

0

精华

高级会员

Rank: 4

积分
900
金钱
900
注册时间
2019-6-6
在线时间
100 小时
发表于 2019-9-6 14:53:48 | 显示全部楼层
ldskendy 发表于 2016-10-21 15:41
这个形象。
也就是说,你写数据到串口时,是装入弹仓,硬件会将数据移到枪膛,这时,TXE为1,TC为0,STM ...

阐述的好
不会就要俯身倾耳以请啊,博客地址:https://blog.csdn.net/qq_39521541?spm=1001.2101.3001.5343
回复

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2019-5-11
在线时间
7 小时
发表于 2019-10-7 10:24:57 | 显示全部楼层
楼上正解
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2019-10-18
在线时间
8 小时
发表于 2019-12-8 18:22:33 | 显示全部楼层
xlve 发表于 2017-3-17 23:35
我想知道这些参数的注释去哪查?固件库的使用说明里有好多函数都没有相关说明?

这个直接查数据手册
回复

使用道具 举报

0

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2020-6-2
在线时间
11 小时
发表于 2020-8-6 14:52:21 | 显示全部楼层
快速回复
回复

使用道具 举报

2

主题

474

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6256
金钱
6256
注册时间
2018-6-27
在线时间
535 小时
发表于 2020-12-16 17:12:18 | 显示全部楼层
学习学习,学习学习。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-3-1 08:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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