你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
STM32F 串口发送中断 的问题?
[复制链接]
yhyeefocus
提问时间:2016-12-14 11:36 /
串口发送中断的配置如下:
见附图,控制寄存器 1( USART_CR1)位 6 TCIE 置1;
请教:
1. 当 数据发送完成后,再没有 要发送的数据了,此时,程序 是不是 还会 再次 进入 串口发送中断程序里面 ?理由是: TCIE 为1,TC为1 ;
2. 为了避免上述 问题的出现,我的想法是,当数据发送完成后,将 控制寄存器 1( USART_CR1)位 6 TCIE 置0 。不知是否可行 ?
谢谢!
附图
赞
0
收藏
2
评论
17
分享
发布时间:2016-12-14 11:36
举报
请先
登录
后回复
17个回答
cuyebiren
回答时间:2016-12-22 13:18:01
a0a.1 32b0c
1、会再进入中断。
2、可行。如果不关闭发送中断,必须在中断函数中清除TC标志,否则会不断进入发送中断,因为TC标志为 1。
官方例程中就是在中断中关闭中断。
评分
参与人数
1
ST金币
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
黑皮男
回答时间:2016-12-22 18:07:43
a0a.1 32b0c
可以通过软件清楚中断标志,如果是发送寄存器空中断打开的话,如果数据发送完成会一直进中断,这个TC中断只要清楚中断标志就不会进入中断了
评分
参与人数
1
ST金币
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
wudianjun2001
回答时间:2016-12-22 08:16:35
a0a.1 32b0c
你的意思是发一串数据,最后一个字节发送完成后的中断怎么处理吧,这个软件判断下啊,数据是最后一个字节中断的话,直接跳出,不执行就可以了,
评分
参与人数
1
ST金币
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
wenyangzeng
回答时间:2016-12-22 07:28:05
a0a.1 32b0c
本帖最后由 wenyangzeng 于 2016-12-29 10:29 编辑
把数据送DR后发送才开始,才有发送中断。
评分
参与人数
1
ST金币
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
无薪税绵
回答时间:2016-12-22 08:15:49
a0a.1 32b0c
中断退出后,如果没有数据发送,是不会再进入中断的。
评分
参与人数
1
ST金币
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
5265325
回答时间:2016-12-22 08:47:32
a1024a.1 32b0c
赞
0
评论
回复
支持
反对
斜阳
回答时间:2016-12-22 08:50:39
a0a.1 32b0c
直接使用库函数多省事儿,不用自己做判断
赞
0
评论
回复
支持
反对
myfocus-2048857
回答时间:2016-12-22 08:54:43
a0a.1 32b0c
签到,学习
赞
0
评论
回复
支持
反对
cldym
回答时间:2016-12-22 10:04:48
a0a.1 32b0c
签到,学习
赞
0
评论
回复
支持
反对
peter001
回答时间:2016-12-22 10:57:30
a0a.1 32b0c
最后一个发送完毕,也会进入中断,这时要能判断出是最后一个并且避免多余的发送
评分
参与人数
1
ST金币
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
ataudio
回答时间:2016-12-22 11:17:42
a0a.1 32b0c
库函数完成,一步就到位了。要继续深入就去查看库函数怎么判断寄存器的。
评分
参与人数
1
ST金币
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
zbber
回答时间:2016-12-22 14:43:36
a0a.1 32b0c
最后一个发送完毕,也会进入中断,这时要能判断出是最后一个并且避免多余的发送
赞
0
评论
回复
支持
反对
小小超
回答时间:2016-12-22 14:53:14
a0a.1 32b0c
清除中断标志后,就不会再次进入中断了。。。。
赞
0
评论
回复
支持
反对
五哥1
回答时间:2016-12-22 15:25:47
a1024a.1 32b0c
签到,学习
赞
0
评论
回复
支持
反对
wolfgang
回答时间:2016-12-22 16:08:38
a0a.1 32b0c
是否开发送中断?
赞
0
评论
回复
支持
反对
1
2
/ 2 页
下一页
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
2、可行。如果不关闭发送中断,必须在中断函数中清除TC标志,否则会不断进入发送中断,因为TC标志为 1。
官方例程中就是在中断中关闭中断。
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
把数据送DR后发送才开始,才有发送中断。
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分