我使用的是STM32F103ZET 512K,启动文件使用的是.HD,发送正常,UART4->DR中也接收到我要的字节信息,但是接收中断服务函数中if(res==0x4F)的判断没有进行,即syn_state的值没有变为“0”,求解法?:'(void uart4_init(u32 pclk,u32 bound)
{
RCC->APB2ENR|=1<<4;
RCC->APB1ENR|=1<<19;
GPIOC->CRH&=0XFFFF00FF;
GPIOC->CRH|=0X00008B00;//
RCC->APB1RSTR|=1<<19;
RCC->APB1RSTR&=~(1<<19);
UART4->BRR=(pclk*1000000)/(bound); // ²¨ÌØÂÊÉèÖÃ
UART4->CR1|=0X200C; //1λֹͣ,ÎÞУÑéλ.
#ifdef EN_UART4_RX //Èç¹ûʹÄÜÁ˽ÓÊÕ
//ʹÄܽÓÊÕÖжÏ
UART4->CR1|=1<<8; //PEÖжÏʹÄÜ
UART4->CR1|=1<<5; //½ÓÊÕ»º³åÇø·Ç¿ÕÖжÏʹÄÜ
MY_NVIC_Init(3,3,UART4_IRQn,2);//×é2£¬×îµÍÓÅÏȼ¶
#endif
}
#ifdef UART4_RX_EN
u8 UART4_RX_BUF[64];
void UART4_IRQHandler(void)
{
u8 res;
if(UART4->SR&(1<<5)) // ?????
{
res=UART4->DR;
if(res==0x4F)syn_state=0; //ºÏ³É²¥·ÅÍê³É??´Ë±äÁ¿µÄÖµ²»ÊÇ°´ÖжÏËù
//¸³ÖµÒ»Ñù±ä³É0£¬µ«ÊÇUART4->DRȷʵ½ÓÊÕ¶¼
//0x4f???????????
}
}
#endif
|