FreeRTOS +串口 Printf

用STM32Cube 生成项目

1.  新建Project ,芯片类型STM32F103C8

2.  选中FREERTOS  

3. 选择系统Timebase 

4.  选择串口1

5. 生产项目源代码

6. 用Keil打开Project


7. 在main.c  中添加代码

找到这里

/* USER CODE BEGIN 0 */

/* USER CODE END 0 */

#ifdef __GNUC__

  /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf

    set to 'Yes') calls __io_putchar() */

  #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)

#else

  #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)

#endif /* __GNUC__ */

/**

  * @brief  Retargets the C library printf function to the USART.

  * @param  None

  * @retval None

  */

PUTCHAR_PROTOTYPE

{

    HAL_UART_Transmit(&huart1,(uint8_t *)&ch,1,0xFFFF);

    return ch;

}

8. 在StartDefaultTask函数中 添加  printf 

void StartDefaultTask(void const * argument)

{

  /* USER CODE BEGIN 5 */

  /* Infinite loop */

  for(;;)

  {

    osDelay(100);

printf("Hello\n");

  }

  /* USER CODE END 5 */

}

7.   设置调试

  1) 选择Simulator 


   2)  DialogDLL 修改库文件  为  DRAMSTM.DLL   

       Parameter;     -pSTM32F103C8    

8.   Build F7 


9. Debug  调试

10  打开串口1的监视窗口


打开

11.   运行

12

12.  查看输出结果



完美

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容