STM32使用3个串口中断和1个外部中断的问题

2019-08-10 15:50发布

使用USART1发送,USART2接收,USART3发送和接收,另外使用PE2作为外部中断线。
在NVIC_Configuration()中当注释钓USART3的设置时,程序运行都正常。但是不注释的时候,USART1的发送就没有了,很奇怪,哪个高人给分析分析。
void NVIC_Configuration(void)
{
        NVIC_InitTypeDef  NVIC_InitStructure;
       
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
        //USART1
        NVIC_InitStructure.NVIC_IRQChannel                                 = USART1_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority                 = 1;
        NVIC_InitStructure.NVIC_IRQChannelCmd                         = ENABLE;
        NVIC_Init(&NVIC_InitStructure);       
       
        //USART2
        NVIC_InitStructure.NVIC_IRQChannel                                  = USART2_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority                  = 2;
        NVIC_InitStructure.NVIC_IRQChannelCmd                          = ENABLE;
        NVIC_Init(&NVIC_InitStructure);       


        //USART3
  NVIC_InitStructure.NVIC_IRQChannel                                 = USART3_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority= 3;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority                  = 0;
        NVIC_InitStructure.NVIC_IRQChannelCmd                          = ENABLE;
        NVIC_Init(&NVIC_InitStructure);


//Int2PS
        NVIC_InitStructure.NVIC_IRQChannel                                  = EXTI2_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority                  = 0;
        NVIC_InitStructure.NVIC_IRQChannelCmd                          = ENABLE;
        NVIC_Init(&NVIC_InitStructure);       
}



S2_COMKA-4D.zip (5.51 MB, 下载次数: 111) 2017-10-31 14:49 上传 点击文件名下载附件



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。