FreeRTOS +串口 Printf

用STM32Cube 生成项目

1.  新建Project ,芯片类型STM32F103C8

2.  选中FREERTOS  

3. 选择系统Timebase 

4.  选择串口1

5. 生产项目源代码

6. 用Keil打开Project

FreeRTOS +串口 Printf_第1张图片


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 


FreeRTOS +串口 Printf_第2张图片

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

       Parameter;     -pSTM32F103C8    

8.   Build F7 


FreeRTOS +串口 Printf_第3张图片

9. Debug  调试

FreeRTOS +串口 Printf_第4张图片

10  打开串口1的监视窗口


FreeRTOS +串口 Printf_第5张图片
打开

11.   运行

FreeRTOS +串口 Printf_第6张图片
12

12.  查看输出结果


FreeRTOS +串口 Printf_第7张图片


完美

你可能感兴趣的:(FreeRTOS +串口 Printf)