STM32
直播中

李秀兰

7年用户 1408经验值
私信 关注
[问答]

STM8 UART初始化+printf的知识点汇总,错过绝对后悔

STM8 UART初始化+printf的知识点汇总,错过绝对后悔

回帖(1)

姚志奋

2021-12-16 09:27:02
UART
初始化:void Uart3_Initialize(void)
{
    UART3_Init(115200,UART3_WORDLENGTH_8D,UART3_STOPBITS_1,UART3_PARITY_NO,UART3_MODE_TXRX_ENABLE);
    UART3_ITConfig(UART3_IT_RXNE_OR,ENABLE);
    UART3_Cmd(启用);
}
其中::
传输速度
UART3_WORDLENGTH_8D:字长8位
UART3_STOPBITS_1:停止位
UART3_PARITY_NO:没有密码位
UART3_MODE_TXRX_ENABLE:收发使能

UART3_ITConfig(UART3_IT_RXNE_OR,ENABLE); //使能接收中断
UART3_Cmd(ENABLE);//使能UART3

printf:
char putchar (char c)
{
    if (c == 'n')
    {
      /* put 'r' to hardware here */
      /* 等待传输完成:否则不发送第一个数据 */
      while (!(UART3->SR & 0x40));
      UART3->DR = ('r');
      /* 等待传输完成 */
      while (!(UART3->SR & 0x40));
    }
    /* 把c放到硬件这里*/
    /*等待传输完成:否则第一个数据不发送*/
    while (!(UART3->SR & 0x80));
    UART3->DR = (c);
    /* 等待传输完成 */
    while (!(UART3->SR & 0x80));
    返回(c);
}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分