OpenEdv-开源电子网

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

如果串口正在发送时,突然进中断会出现什么情况

[复制链接]

7

主题

11

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2017-5-26
在线时间
5 小时
发表于 2017-5-26 15:21:12 来自手机 | 显示全部楼层 |阅读模式
如果串口正在发数据,而这时候串口收到数据进到收中断,会对发数据造成影响吗?是只是造成微小的发送延迟还是可能丢帧?

也就是说,串口发的时候,为保证发送正常,有必要把收中断关了吗?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

70

主题

6769

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13197
金钱
13197
注册时间
2012-11-26
在线时间
3820 小时
发表于 2017-5-26 15:32:13 | 显示全部楼层
回复 支持 反对

使用道具 举报

7

主题

11

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2017-5-26
在线时间
5 小时
 楼主| 发表于 2017-5-26 15:42:31 来自手机 | 显示全部楼层
jermy_z 发表于 2017-5-26 15:32
串口是全双工的

一直不太理解这个全双工,如果是顺序执行的话,串口收中断服务程序和主程序里的串口发是只能二选一的,能给解释下么?
回复 支持 反对

使用道具 举报

11

主题

216

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1124
金钱
1124
注册时间
2015-2-27
在线时间
485 小时
发表于 2017-5-26 15:51:05 | 显示全部楼层
yakerxee 发表于 2017-5-26 15:42
一直不太理解这个全双工,如果是顺序执行的话,串口收中断服务程序和主程序里的串口发是只能二选一的,能 ...

串口是个多么慢的设备,
同时收发一点问题都没有,而且还是数据寄存器满才通知你来读,9600波特率发送10个位才能数据寄存器,这差不多要1ms左右,你机器周期13.89ns这收一个字节你MCU中间可以干上万件事情
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2012-10-10
在线时间
25 小时
发表于 2017-5-27 08:01:10 来自手机 | 显示全部楼层
楼上已回答,不用关。
回复 支持 反对

使用道具 举报

1

主题

101

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
254
金钱
254
注册时间
2017-5-10
在线时间
55 小时
发表于 2017-5-30 17:13:16 来自手机 | 显示全部楼层
不用关,因为stm32的串口硬件是全双工的,接受中断对当前字节的发送完全没有影响,但是有可能下个字节的发送有些许延迟(取决于数据处理的速度),不过除非不加判断不然不会丢包
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-20 17:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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