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 查看本文章