3641|0

2

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

stm32 usart与定时中断嵌套问题 [复制链接]

在电机控制中,使用了TIM1进行50us定时,使用了USART1的中断与PC机通信,单独USART1中断程序与PC进行数据的接收以及单独定时中断产生PWM都是正确的,但两个中断都开的话,stm32接收PC机的数据是正确的,但向PC机发送数据却总有错误,怀疑是由于进入USART1中断处理的时候,又产生了定时器的中断,所以会使接收不正确。尝试着设置了一下NVIC中的中断优先级,但是尝试了几种0和1的组合,但是还是没有效果。特把程序贴出来请大家帮忙分析下,问题出在哪里?

void nvic_conf(void)
{
  NVIC_InitTypeDef NVIC_InitStructure;
  
  NVIC_SetVectorTable(NVIC_VectTab_RAM,0x0);
 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

///USART1
  NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;         //通道设置为串口1中断
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //中断占先等级0
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;        //中断响应优先级0
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;           //打开中断
  NVIC_Init(&NVIC_InitStructure);                           //初始化
  

  // tim1_it_update
  NVIC_InitStructure.NVIC_IRQChannel =TIM1_UP_IRQn; 
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority =1;  
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
}

void USART1_IRQHandler(void)                             //串口1中断
{ u8 i=0;
  XintTicker3++;  
                                  
    if (USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) 

 {
      
      USART_ClearITPendingBit(USART1,    USART_IT_RXNE);     //清除中断标志
    

      RX_dat[0]=USART_ReceiveData(USART1) & 0x7F; 

      USART_SendData(USART1, 0x01);                         

      
      while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET){}//等待发送结束
      


    }

中断接收PC机的数据是正确的,但向PC机发送数据却时有错误,请教牛人指点!!!



此帖出自stm32/stm8论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表