天天看点

HAL+Cube MX 学习之UART串口通信记录HAL库+Cube MX的学习过程,不定期更新……

记录HAL库+Cube MX的学习过程,不定期更新……

一、UART’s Configuration

在Connectivity的USART1配置中,Mode选择为Asynchronous(异步通信),Cube MX已经配置好了相关的引脚,下面的波特率没有特别要求,需要跟串口助手的波特率一致,常用的波特率是9600和115200,然后生成代码。

HAL+Cube MX 学习之UART串口通信记录HAL库+Cube MX的学习过程,不定期更新……

二、Coding in MDK

可以直接用printf来打印,打印的内容会在串口调试助手上显示,但是用printf需要添加头文件和函数,

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include<stdio.h>
/* USER CODE END Includes */
           

先是添加#include<stdio.h>,也就是C语言的头文件,然后还要添加一个函数:

/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */

int fputc(int ch, FILE *f)
{
uint8_t temp[1] = {ch};
HAL_UART_Transmit(&huart1, temp, 1, 2);//huart1??????????
return ch;
}
/* USER CODE END 0 */
           

这个函数在使用printf时很常用,可以添加为Templates(模板),然后就可以在while(1)中加入自己的代码了

printf("hello stm32 : %d\r\n",i++);
HAL_Delay (1);
           

定义一个i = 0,就可以在串口调试助手上显示了。