STM32
直播中

张浩

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

如何利用STM32CubeMX去生成STM32F429初始化代码呢

如何利用STM32CubeMX去生成STM32F429初始化代码呢?

回帖(1)

李杰

2021-12-1 09:37:39
本文基于正点原子的阿波罗F429开发版.
利用STM32CubeMX生成初始化代码.为后面的工程做好铺垫.
  1.建立项目

  1.下载安装STM32CubeMX和STM32F4的代码库(自行百度)
2.新建一个项目.打开STM32CubeMX------>File------>New Project.进入到如下图的界面.

  

  

3.在(1)处输入"F429IG"双击(2)处.

  

  

4.开启高速外部晶振.
  5
  

  

5.配置JTAG

  

  

6配置串口

  

  

7.配置系统时钟:在(3)处输入180按回车键即可
  

  

8.配置工程1.(1)是工程名字.2是所在文件夹,不要放在有中文名的文件夹,防止出错.
  

  

9.配置工程2.

  

  

10点击(1)生成代码,点击(2)打开代码.
11.点击Project------>Options for target------>Debug------>Settings(界面右上角的那个)------>flash DOwnload------>Reset and Run打上勾即可,如下图所示.

  

  

12.打开main.c,在头文件下方添加一个:#include "stdio.h"的头文件

/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "usart.h"
#include "gpio.h"


/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "stdio.h"
/* USER CODE END Includes */


再在main函数上面添加一个发送回调函数:


/* USER CODE BEGIN 0 */
int fputc(int ch, FILE *f)
{
        if (ch == 'n')
        {
                HAL_UART_Transmit(&huart1, (void *)"r", 1,30000);
        }
        HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
        return ch;
}
/* USER CODE END 0 */


在main函数添加一个发送代码:


  /* USER CODE BEGIN WHILE */
  printf("程序开始rn");
  while (1)
  {
    /* USER CODE END WHILE */


    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */

编译代码.
13.拿开发版把烧录器和串口连接到电脑,打开电脑串口监控软件.把程序烧录进去…串口监听软件记得波特率选对.正确的话就能看到接收到"程序开始".

  
举报

更多回帖

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