串口通信发送出来的数据不正确

2019-03-23 18:55发布

请问 我单独在主函数里调用串口发送函数 UART1_SendByte(0x11)后,调试助手里能正确显示11; 但我在别的函数中调用UART1_SendByte(0x11),却不能正确显示11,附UART1_SendByte()原型为:
//发送一个字节,查询发送,当发送寄存器是空的就发送
void UART1_SendByte(u8 data)
{
    UART1_SendData8((unsigned char)data);
    while(UART1_GetFlagStatus(UART1_FLAG_TXE)==RESET);
}

希望哪位有经验的朋友指点一下,谢谢!!

这是不是与串口初始化设置有关   初始化代码:
//串口初始化
void USART1_Init(void)
{
   CLK_PeripheralClockConfig(CLK_PERIPHERAL_UART1,ENABLE);
  UART1_DeInit();  
  UART1_Init((uint32_t)115200,UART1_WORDLENGTH_8D,UART1_STOPBITS_1,UART1_PARITY_NO,
  UART1_SYNCMODE_CLOCK_DISABLE,UART1_MODE_TXRX_ENABLE);
  UART1_ITConfig(UART1_IT_RXNE_OR,ENABLE);
  UART1_Cmd(ENABLE);

  } 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。