一知半解学CubeMX——UART:Printf实现

来源:互联网 发布:帝国cms支付宝接口 编辑:程序博客网 时间:2024/06/06 07:23
一知半解学习环境:
    1、CubeMX 4.23.0
    2、uVision 5.14.2
    3、MCU 启明 STM32F407 开发板(高配版) V3.1

一知半解学习目标:
    1、掌握CubeMX下RCC以及SYS的相关配置;
    2、掌握CubeMX下串口配置;
    3、掌握Printf的实现套路

一知半解实现过程:
    1、配置系统调试接口及时基时钟源;

    2、配置外部高速时钟源;

    3、根据原理图配置对应串口(USART1);


    4、配置时钟树;

    5、配置串口参数,保持默认参数即可;

    6、生成工程,并添加程序;
首先,打开工程,在usart.c文件的最后添加如下程序;


/* USER CODE BEGIN 1 */
#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__ */
PUTCHAR_PROTOTYPE
{
  /* Place your implementation of fputc here */
  /* 使用的串口可根据实际配置修改 */
  HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
  return ch;
}
/* USER CODE END 1 */

其次,在main.c循环中添加打印信息;

/* USER CODE BEGIN WHILE */
  while (1)
  {
  /* USER CODE END WHILE */
  /* USER CODE BEGIN 3 */
        HAL_Delay(1000);
        printf("杭州义益钛迪信息技术有限公司嵌入式部门\n");
  }
  /* USER CODE END 3 */

     7、串口调试助手打印验证;

一知半解套路回顾:
    1、掌握CubeMX配置的常规套路,如SYS、RCC以及时钟树的配置等;
    2、掌握CubeMX串口的配置;
    3、学会printf实现需要添加文件的固定套路(以后遇到只需要复制就行);


原创粉丝点击