把例程下到我的stm32板子里,可以从pc发送数据,但不能接收;在买的板子里可以发送和接收

我用ch340实现串口,正确应该在发送时txd信号灯亮,接收时rxd信号灯亮;例程是按住复位键,PC端接收到数据,但是我的板子从按下复位键到抬起,rxd灯一直亮,应该只亮一下。请问是什么原因呢??

 

例程如下:

void USART2_IRQHandler(void)                                                            //USART接收中断
{
  if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)                                    //判断标志位
  {                                                                                        
      USART_ClearFlag(USART2, USART_IT_RXNE);                                                //清除标志位

    sprintf((char*)string,"HELLO %d",11);                                          //写入字符串
    LCD_DisplayStringLine(Line1,string);                                                         //
  }
}
  

void USART_SEND(u8 *str)                                                                //定义串口发送函数
{
    int index=0;                                                                        //定义一个整型变量
    do
    {
        USART_SendData(USART2, str[index++]);                                            //当查询到标志位后,一位一位发送数据,直至数据全部发送完毕
        while(USART_GetFlagStatus(USART2,USART_FLAG_TXE)==RESET);        
    }  while(str[index]!=0);
}

有些板子引脚定义各不相同,建议使用debug调试。