STM8S207C8T6,串口收发问题(库函数版本),接收不正常

2019-07-19 20:29发布

void UART_Initializes(void)//初始化函数
{
  UART1_Init((uint32_t)115200, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE);
  UART1_Cmd(ENABLE);
  UART1_ITConfig(UART1_IT_RXNE_OR, ENABLE);

  enableInterrupts();
}
//接收
INTERRUPT_HANDLER(UART1_RX_IRQHandler, 18)
{
  u8 temp;
  RecvCount = 0;  while(UART1_GetITStaues(UART1_IT_RXNE) != RESET)
{
  RecvBuf[RecvCount] = UART1_ReceiveData8();                   //读取接收到的数据(该操作会自动清除中断接收标志)
  RecvCount++;
  TIMDelaNms(5);
}
  TIMDelaNms(5);
  UART1_SendNByte(RecvBuf,RecvCount);                         //发送接收到的数据
  UART1_ClearITPendingBit(UART1_IT_RXNE);
}
发送函数是没有问题的,只能接收最多2Byte
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。