你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
2、可行。如果不关闭发送中断,必须在中断函数中清除TC标志,否则会不断进入发送中断,因为TC标志为 1。
官方例程中就是在中断中关闭中断。
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
把数据送DR后发送才开始,才有发送中断。
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分