第一个stm32工程(一)

一、基本配置

  • 硬件:如上图,淘宝上几年前入手,F407才四十几,现在要135。
  • 软件:
    • Deepin20.05
    • clion22
    • cubemx6.5
    • openocd

二、Stm32CubeMX配置工程

  • 选择MCU
  • System Core配置:主要涉及以下三项
    • RCC: 两个外部晶振

    • SYS:这里一定要选择Serial Wire。这一项根据你的硬件条件选择

    • GPIO:这块板子上接了两个灯,接在PA6、7上,所以只设置这两个口为输出即可。注意设置User Label,cubemx会根据你设置的自动生成预处理,比较容易操作。

    • Clock Configuration:168M,只要输入168,回车,自动处理

  • Project Manager
    • Project: 工程名和工程类型
    • Code Generator:如图勾选,这样方便工程管理

然后,就可以点击右上角的Generator Code按钮,生成代码了。

它会自动下载所需要的库文件,过程中会有一个警告,说这个类型的工程,后序可能不再支持了,忽略即可。

三、用Clion打开工程

  • 去工程目录,打开工作。clion中打开工程就是打开工程所在目录。
  • 选择CFG文件:用来配置openocd的调试
  • 在这个窗口中选择跟你的单片机型号相近的文件,便于修改。然后选择Copy to Project & Use。然后就将这个文件复制到你的工程目录下。你就可以根据你自己的硬件来修改
source [find interface/jlink.cfg]
transport select swd
source [find target/stm32f4x.cfg]
reset_config none

我个人的习惯是保留上面四行。

  • 接下来,先编译。如下图,则没有问题。

  • cubemx已经给你生成了所有初始化代码,你只用写逻辑部分即可。本工程就是点一个灯,闪烁,间隔一秒。用HAL库只需要两行代码。
  /* USER CODE BEGIN WHILE */
  while (1)
  {
      HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);
      HAL_Delay(1000);
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
  • 注意:代码一定要写在user code begin和end之间,否则重新生成之后就没有了。写完之后,编译,写入。
posted @ 2022-05-10 11:37  xiaoleebaba  阅读(100)  评论(0)    收藏  举报