OpenEdv-开源电子网

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

关于串口的一个问题

[复制链接]

2

主题

5

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2015-4-14
在线时间
0 小时
发表于 2015-5-7 15:45:52 | 显示全部楼层 |阅读模式
5金钱
既然产生了中断才会进入USART1_IRQHandler
那为什么开始还要检测USART_GetITStatus(USART1, USART_IT_RXNE) != RESET
USART_IT_RXNE   接收中断 
单从串口程序 我屏蔽了if语句后没有问题 依然能够运行 但是我觉得这么写应该有他的原因 为什么要加if这句?

最佳答案

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

串口中断中有好几种中断源都能产生中断,如果你使能了多种串口中断源,判断一下是哪个中断源发生了中断才好做相应的处理!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

611

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1929
金钱
1929
注册时间
2014-10-6
在线时间
625 小时
发表于 2015-5-7 15:45:53 | 显示全部楼层
串口中断中有好几种中断源都能产生中断,如果你使能了多种串口中断源,判断一下是哪个中断源发生了中断才好做相应的处理!
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11555
金钱
11555
注册时间
2014-4-1
在线时间
1317 小时
发表于 2015-5-7 16:15:46 | 显示全部楼层
LS 说得对,收和发会进入同一个中断。
回复

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2015-4-14
在线时间
0 小时
 楼主| 发表于 2015-5-7 17:00:48 | 显示全部楼层
回复【2楼】烟酒不沾:
---------------------------------
前面用USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);//开启相关中断
只是使能了 USART_IT_RXNE 这个中断 别的中断应该是没有使能吧。也就是说串口中断应该只是使能了 USART_IT_RXNE这个中断那么就不需要检测USART_GetITStatus(USART1, USART_IT_RXNE) != RESET
如果是另外开启了其他的中断 则需要检测USART_GetITStatus(USART1, USART_IT_RXNE) != RESET
换句话说 这条语句是为后面做准备的对么
回复

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2015-4-14
在线时间
0 小时
 楼主| 发表于 2015-5-7 17:02:06 | 显示全部楼层
回复【3楼】xuande:
---------------------------------
不会吧 USART_IT_TXE   发送中断  这个才是发送中断
回复

使用道具 举报

13

主题

611

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1929
金钱
1929
注册时间
2014-10-6
在线时间
625 小时
发表于 2015-5-7 17:24:43 | 显示全部楼层
回复【4楼】sadzt:
---------------------------------
可以这样理解!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-22 18:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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