这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » ·xbdy2005 STM32L053R8 进程贴之STM32MX生成串口输出程

共1条 1/1 1 跳转至

·xbdy2005 STM32L053R8 进程贴之STM32MX生成串口输出程序

菜鸟
2016-01-02 01:18:58     打赏

第一步:打开并设置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()函数编译下载后效果如下:


到此,程序虽然通过,只是还是不太明白为什么一定得加以上代码呵




关键词: STM32L053R8     串口     输出     STM32MX    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]