新手上路 
 
	- 积分
 - 31
 
        - 金钱
 - 31 
 
       - 注册时间
 - 2019-8-8
 
      - 在线时间
 - 7 小时
 
 
 
 | 
 
1金钱 
初始化其中一部分 
USART1->CR1 = (1<<2)     //½óêÕÆ÷′ò¿a 
                   |(1<<3)     //·¢ËíÆ÷′ò¿a 
                   |(1<<5)     //ê1Äü½óêÕÖD¶Ï 
                   |(0<<12)    //8bitêy¾Yλ 
                   |(0<<15)//16λ2éÑù(ÔúIRDAÄ£ê½ÏÂÖ»ÄüêÇ16λ2éÑù) 
                   |(0<<10); 
NVIC_EnableIRQ(USART1_IRQn);           //ê1ÄüUARTÖD¶Ï 
NVIC_SetPriority(USART1_IRQn,3);//ê1ÄüUARTμÄÖD¶ÏóÅÏè¼¶±e 
USART1->CR1 |=1;//′ò¿a′®¿ú 
 
串口中断函数 
void USART1_IRQHandler( ) 
{ 
 if(USART1->ISR & 0x20)//óDDÂêy¾Y 
 { 
        Uart1Buffer[Uart1WritePos++]=USART1->RDR; 
  if(Uart1WritePos>=BufferSize1) 
                Uart1WritePos=0; 
 }          
USART1->ICR=0x123bff;//USART1->ICR=0x121b5f;//°üËùóDμÄÖն˱êÖ¾è«2¿Çå3y         
} 
 
串口能正确地传输数据,但是接收到数据进不了中断函数?我用仿真器看了,数据存在USART1->RDR寄存器里,这是为什呢? 
 
 |   
 
 
 
 
 
 |