串口3发送的问题

2019-03-23 16:35发布

1.png
我用STM8S207C8T6写程序,开发环境IAR。
串口3往外发数据。
void Uart3_Initial(void)

{     

    UART3_DeInit();
    UART3_Init((u32)115200, UART3_WORDLENGTH_8D, UART3_STOPBITS_1,
    UART3_PARITY_NO , UART3_MODE_TXRX_ENABLE);
    UART3_ITConfig(UART3_IT_RXNE_OR,ENABLE  );
    UART3_Cmd(ENABLE );


}
void UART3_SendByte(u8 data)
{
    UART3_SendData8((unsigned char)data);
  /* Loop until the end of transmission */
  while (UART3_GetFlagStatus(UART3_FLAG_TXE) == RESET);
}
void main(void)
{
  //asm("sim");         //先关闭总中断
  u32 i;
  u8 flag;

  CLK_Config();
  GPIO_DeInit(GPIOE);
  GPIO_Init(GPIOE,GPIO_PIN_6 | GPIO_PIN_7,GPIO_MODE_OUT_PP_HIGH_SLOW);
  GPIO_DeInit(GPIOA);
  GPIO_Init(GPIOA,GPIO_PIN_3 | GPIO_PIN_6 ,GPIO_MODE_OUT_PP_HIGH_SLOW);
  GPIO_DeInit(GPIOB);
  GPIO_Init(GPIOB,GPIO_PIN_6 | GPIO_PIN_7,GPIO_MODE_IN_PU_NO_IT);
  GPIO_DeInit(GPIOD);
  GPIO_Init(GPIOD,GPIO_PIN_3 | GPIO_PIN_2,GPIO_MODE_OUT_PP_HIGH_SLOW);
  Tim1_Init();
  //__enable_interrupt();  
  //Uart1_Initial();
  Uart3_Initial();
  /* Infinite loop */


  //asm("rim");         //打开总中断

  while (1)
  {
    //Connect_NewData();                                        //?D??ê?·?μ?×?D?êy?Yé?′?ê±???úμ?

    UART3_SendByte(0x55);
    for(i=0;i<300000;i++);

}
}
本来发的是0x55,可是串口助手收到的却是1.
高手给看看,怎么回事?谢谢!





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