大神们 关于UART3中断设置

2019-07-20 13:59发布

用的UART3作为串口进行通信,不加中断可以完成数据的发送,中断的话,我参考UART1 进行 设置的 代码如下;
1:#if EN_USART3_RX   //已在.h文件中定义使能中断  1 使能 0 禁止
2:#if EN_USART3_RX       
        USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);//¿aÆôÏà1ØÖD¶Ï

        //Usart1 NVIC ÅäÖÃ
  NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn;//′®¿ú3ÖD¶Ïí¨μà
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=4;//ÇàÕ¼óÅÏ輶3
        NVIC_InitStructure.NVIC_IRQChannelSubPriority =3;                //×óóÅÏ輶3
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;                        //IRQí¨μàê1Äü
        NVIC_Init(&NVIC_InitStructure);        //¸ù¾YÖ¸¶¨μÄ2Îêy3õê¼»ˉVIC¼Ä′æÆ÷¡¢
#endif
中断的配置
3:中断函数 void USART3_IRQHandler(void) 参考UART1的
4 在主循环中 条用了ceshi函数
void ceshi (   )
{
           u8 len1,j;
                if(USART3_RX_STA&0x8000)
                {                                          
                        len1=USART3_RX_STA&0x3fff;//μÃμ½′Ë′νóêÕμ½μÄêy¾Y3¤¶è
                        if(USART3_RX_BUF[0]=='a')
                        {
           USART_SendData(USART3,'b');
                                       
                  }
                        USART3_RX_STA=0;       
   }
}

我如果把测试中的换成UART1的话,可以实现,改成3的话GG啊   
求大神看下我是不是某些地方忘了设置了,看了一上午了
在线等啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。