串口UART通讯

1、介绍

串口通信是异步通信,串口通信注意点:起始位、数据位、校验位、停止位。

直接上示例看波形,直接用正点原子HAL库串口例子。

改一下main.c,如下:

#include "./SYSTEM/sys/sys.h"
#include "./SYSTEM/delay/delay.h"
#include "./SYSTEM/usart/usart.h"
#include "./BSP/LED/led.h"
​
​
int main(void)
{
    HAL_Init();                                 /* 初始化HAL库 */
    sys_stm32_clock_init(RCC_PLL_MUL9);         /* 设置时钟,72M */
    delay_init(72);                             /* 初始化延时函数 */
    led_init();                                 /* 初始化LED */
    usart_init(115200);                         /* 波特率设为115200 */
    
    while(1)
    {
        if(g_usart1_rx_flag == 1)
        {
            delay_us(1);
            HAL_UART_Transmit(&g_uart1_handle, (uint8_t*)g_rx_buffer, 1, 1000);
            while(__HAL_UART_GET_FLAG(&g_uart1_handle, UART_FLAG_TC) != 1);
            g_usart1_rx_flag = 0;
        }
        else
        {
            delay_ms(10);
        }
    }
}

直接看波形

 放大看!起始位、数据位、校验位、停止位一目了然。

扫描二维码关注公众号,回复: 16754696 查看本文章

猜你喜欢

转载自blog.csdn.net/weixin_58125062/article/details/130274173