第一个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:如图勾选,这样方便工程管理
![]()
- Project: 工程名和工程类型
然后,就可以点击右上角的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之间,否则重新生成之后就没有了。写完之后,编译,写入。









浙公网安备 33010602011771号