你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F030串口中断问题

[复制链接]
youimisss 提问时间:2014-2-17 23:06 /
void USART1_IRQHandler(void)
{
 uint16_t Value;
 
 if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE))
 {
  Value = USART_ReceiveData(USART1);
  USART_SendData(USART1, Value);
  while(!USART_GetITStatus(USART1, USART_IT_TC));
 }
}
为什么这个串口中断函数只能进入一次呢?
收藏 2 评论14 发布时间:2014-2-17 23:06

举报

14个回答
dzc2001 回答时间:2014-2-19 10:51:05

RE:STM32F030串口中断问题

连上Jlink调试一下,标志位的问题?
那片清茶 回答时间:2014-2-18 08:54:21

回复:STM32F030串口中断问题

你可以调试一下,程序是不是一直在while判断那里没有出来。
youimisss 回答时间:2014-2-18 10:26:07

回复:STM32F030串口中断问题

回复第 2 楼 于2014-02-18 08:54:21发表:
你可以调试一下,程序是不是一直在while判断那里没有出来。
 
 
好的,我回去试一下,谢谢
 
senzh01 回答时间:2014-2-19 15:20:32

RE:STM32F030串口中断问题

先赚分!
fengye5340 回答时间:2014-2-19 21:16:45

回复:STM32F030串口中断问题

 
因为你在程序中,使用了
while(!USART_GetITStatus(USART1, USART_IT_TC));
如果你将这个TC标志,换成USART_FLAG_TXE,也就是
while (!USART_GetFlagStatus(USART1, USART_FLAG_TXE));   
那样就正常了。
 
USART_IT_TC和USART_FLAG_TXE是STM32中很容易出问题的标志,参考手册上讲的很明白
wylb005 回答时间:2014-2-20 09:25:03

RE:STM32F030串口中断问题

可能是while那句出错了
小天下 回答时间:2014-2-20 11:11:47

回复:STM32F030串口中断问题

  while(!USART_GetITStatus(USART1, USART_IT_TC));
这里错了,,你回去试试好了吗?
看起来很黑 回答时间:2014-2-20 16:11:04

回复:STM32F030串口中断问题

回复第 6 楼 于2014-02-19 21:16:45发表:
 
因为你在程序中,使用了
while(!USART_GetITStatus(USART1, USART_IT_TC));
如果你将这个TC标志,换成USART_FLAG_TXE,也就是
while (!USART_GetFlagStatus(USART1, USART_FLAG_TXE));   
那样就正常了。
 
USART_IT_TC和USART_FLAG_TXE是STM32中很容易出问题的标志,参考手册上讲的很明白
 

在这个while之前不是已经发送过数据了,等待TXE标志清除?
feiante-155820 回答时间:2014-2-20 20:42:26

RE:STM32F030串口中断问题

连上仿真器看看程序死在哪了,估计是在while循环里面
wkuang 回答时间:2014-2-26 22:57:32

RE:STM32F030串口中断问题

1、使用仿真器是不能在中断的位置打断点的,如果想知道中断有没有进入,只能在中断中用全局变量计数,用仿真器将全局变量读出来。在中断处打断点会出现意想不到的问题
擒入式 回答时间:2015-7-30 08:54:34
我来回答一下,USART_IT_TC发送完成中断标志位;USART_FLAG_TXE发送数据寄存器空标志位;显然你在中断里检测中断完成标志位肯定会进入死循环;
ql1000 回答时间:2016-10-26 10:39:30
学习学习!
一两纯金够帅 回答时间:2017-5-3 09:59:57
需要在中断函数里面添加,USART_ClearITPendingBit(USART2,USART_IT_ORE);
zbber 回答时间:2017-5-3 12:37:13
可能是while那句出错了

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版