基于STM32CubeMX&HAL库写代码之串口

首先打开新建好的STM32CubeMX工程
新建工程的方法可以看我另一篇博文:基于STM32CuBeMX新建32工程

基于STM32CubeMX&HAL库写代码之串口_第1张图片

基于STM32CubeMX&HAL库写代码之串口_第2张图片

基于STM32CubeMX&HAL库写代码之串口_第3张图片

最后点击右上角的GENERATE CODE生成代码即可
发送个hello world看看是否初始化成功

HAL_UART_Transmit(&huart1, (uint8_t *)"hello world\r\n", 
						sizeof("hello world\r\n"), 0xffff);

重定义printf

方法一

//重定义fputc函数 
int fputc(int ch, FILE *f)
{ 	
	while((USART1->SR&0X40)==0);//循环发送,直到发送完毕   
	USART1->DR = (uint8_t) ch;      
	return ch;
}

方法二

#define printf(...) HAL_UART_Transmit(&huart1, printf_buf, \
							sprintf((char *)printf_buf, __VA_ARGS__), 0xffff)
uint8_t printf_buf[256];

你可能感兴趣的:(基于STM32CubeMX&HAL库写代码之串口)