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

串口没开发送中断,为什么会进入中断?

[复制链接]
厦门浪子 提问时间:2020-1-9 15:43 /
   串口初始化时候只打开了唯一的接收RXNE中断。
   串口发送用查询法:
  1. void Usart2_Send(void)
  2. {           
  3.                 unsigned char i;
  4.                
  5.                 if(0 == BufUsart2.lenTx) return;        
  6.                 for(i=0; i< BufUsart2.lenTx; i++)
  7.                 {
  8.                                   USART_SendData(USART2, BufUsart2.bufTx[i]);
  9.                                   while(USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET);
  10.                 }        
  11.                 while(USART_GetFlagStatus(USART2, USART_FLAG_TC) == RESET);
  12.                 BufUsart2.lenTx = 0;               
  13. }  
复制代码
为什么程序跑起来后,会进入发送中断?
收藏 评论4 发布时间:2020-1-9 15:43

举报

4个回答
mylovemcu 回答时间:2020-1-9 16:57:49
正常情况下不应该的  发送中断有两个位可以产生中断  看一下配置有没有问题

可能程序其他地方有配置  也可以仿真的时候看一下寄存器

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

T涛哥T 回答时间:2020-1-9 18:58:29
先根据寄存器和单步运行确定中断源,再考虑怎么解决。
废鱼 回答时间:2020-1-10 09:46:19
楼主看一下你的配置,如果不确定可以在线仿真,进入中断后,再查看串口寄存器的状态,判断一下产生中断的原因。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

yklstudent 回答时间:2020-1-10 16:11:16
估计过会就要拍自己脑袋

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版