STM32
直播中

曹利娟

7年用户 951经验值
私信 关注
[问答]

STM32CubeMX串口配置及库printf打印的实行方法是什么?

STM32CubeMX串口配置及库printf打印的实行方法是什么?

回帖(1)

高倩

2021-12-1 14:04:05
最新版STM32CubeMXV5.0.0已经上传到了网盘,或者自己通过软件在线升级。
    STM32CubeMX运行环境搭建包含两个部分。首先是 Java运行环境安装,其次是STM32CubeMX软件安装。Java 软件和STM32CubeMX 软件都可以在官网找到最新的下载。
        1. Java运行环境,大家可以到 Java 官网 www.java.com下载最新的 Java 软件;
        2.STM32CubeMX可以在ST官网www.st.com/content/st_com/zh.html下载最新的版本;
        3.或者在我网盘上下载全部所需软件资料,链接:https://pan.baidu.com/s/1kWUH08n 密码:4th4

新版的STM32CubeMXV5.0.0界面变化较大。

1、打开STM32CubeMXV5.0.0,创建工程,配置串口。



































2、打开工程,编译。

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include     //第一步包含头文件
/* USER CODE END Includes */

......
......
......

/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
int fputc(int c, FILE *stream)    //重写fputc函数
{
/*
    huart1是工具生成代码定义的UART1结构体,
    如果以后要使用其他串口打印,只需要把这个结构体改成其他UART结构体。
*/
    HAL_UART_Transmit(&huart1, (unsigned char *)&c, 1, 1000);   
    return 1;
}
/* USER CODE END 0 */

......
......
......
int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_USART1_UART_Init();
  /* USER CODE BEGIN 2 */
  printf("sudarootrn");        //使用库的printf
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}
3、不成功的话,检查一下下面这个√有没有勾上。






全篇完。
本人博客仅仅代表我个人见解方便记录成长笔记。
若有与 看官老爷见解有冲突,我坚信看官老爷见解是对的,我的是错的。
感谢~!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分