首先打开新建好的STM32CubeMX工程
新建工程的方法可以看我另一篇博文:基于STM32CuBeMX新建32工程
最后点击右上角的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];