第一步:打开并设置STM32MX图形画配制软件
时钟配制界面:
串口配制参数:
配制完后,生成程序并打开项目:
编译烧录后,打开串口助手软件
测试通过,但是,库里的发送函数使用起来不是很方便,打算按51的套路使用prinrf()函数,申明stdio.h 及string.h两个头文件后,直接调用printf()函数,后编译通过却无输出,硬件调试发现调试指针停在这个函数无法动弹。在本论坛看到逍遥李的第3讲:Nucleo入门之串口与定时器 【STM32 L053-进程帖】 后发现还要添加如下代码:
#undef __GNUC__
#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */
PUTCHAR_PROTOTYPE
{
/* Place your implementation of fputc here */
/* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */
HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}
到main.c的/* USER CODE BEGIN 0 */与/* USER CODE END 0 */之间,再调用printf()函数编译下载后效果如下:
到此,程序虽然通过,只是还是不太明白为什么一定得加以上代码呵