stm8单片机用串口2发送数据卡住

2019-07-19 20:59发布

本帖最后由 chenjiabao 于 2016-12-4 13:03 编辑

void MyUart2_Init(void)
{
        UART2_DeInit();
        UART2_Init((u32)115200, UART2_WORDLENGTH_8D, UART2_STOPBITS_1,
                UART2_PARITY_NO, UART2_SYNCMODE_CLOCK_DISABLE, UART2_MODE_TXRX_ENABLE);
        UART2_Cmd(ENABLE);
}

void Uart2_Send_Byte(uint8_t ch)
{
        uint8_t temp;
        UART2_SendData8((unsigned char)ch);
        while (UART2_GetFlagStatus(UART2_FLAG_TXE) == RESET)//程序跳不出这个循环
        {
                temp = UART2->SR;
        }
}

int main(void)
{     
      All_Congfig();
      LED_OFF();  
      delay_ms(500);
      LED_ON();
      while(1)
      {         
          LED_REVERSAL();
          delay_ms(500);
          Uart2_Send_Byte(0xFF);
      }

}void All_Congfig(void)
{
    CLOCK_Config(SYS_CLOCK);//系统时钟初始化  
    LED_Init();   
        MyUart2_Init();
}

stm8单片机用串口2发送数据,发送数据寄存器(UART2->SR的最高位)一直为0,在线调试发现temp一直为0x00.是哪里配置错了么?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
chenjiabao
1楼-- · 2019-07-20 02:34
 精彩回答 2  元偷偷看……
chenjiabao
2楼-- · 2019-07-20 08:15
需要将串口输出数据的引脚设置为推挽输出吗
正点原子
3楼-- · 2019-07-20 12:18
 精彩回答 2  元偷偷看……

一周热门 更多>