1.打开CubeMX
打开CubeMX在New Project框里,点击ACCESS TO MCU SELECTOR,进行芯片选型,图片中进行了红框圈出
2.芯片选型
在Part Number上进行芯片型号搜索,选择自己想要使用的芯片,在右下角的框图里选择对应的芯片型号和对应的封装格式,直接进行双击选择,图片中均红框圈出
3.配置RCC
进行RCC时钟配置,使能HSE和LSE,选择Crystal/Ceramic Resonator,HSE是高速外部时钟, LSE是低速外部时钟,一般来说,HCLK设置到准许的最高频率,选择HSE和PLLCLK,点击Resovle Clock Issues然后相应的参数就会自己进行分配,
![](https://i-blog.csdnimg.cn/blog_migrate/0dc2a33ffc2997c98c1a03a3815933e6.png)
4.配置调试
选择Debug,Serial Wire,不选择调试,在keil里不能进行调试
5.配置gpio
配置LED相对应的GPIO引脚,根据自己的电路图进行配置,这里设置的是GPIOB12,设置为输出模式,选择推挽输出模式,不上拉也不下拉,默认输出高电平,根据自己的电路图和需求进行默认电平设置,这里设置高电平配合电路图是默认LED不亮。
6.配置工程参数
输入工程的名称和工程保存的地址,最重要的是一定要选择IDE为MDK-ARM,第二张图可选择也可以不选择,就是生成单独的.c和.h文件,选择以后会在core里生成一个单独的gpio.c文件,不选择也没事,gpio.c文件的东西就会写在mian.c里,这样会显得杂乱7.配置keil
在keil里,点击魔术棒,进行一些keil相关的如下设置
7.代码编写
找到main.c,大概的分析一下主函数,首先进行了HAL库初始化,其次进行了系统时钟配置,也就是我们在CubeMX里配置的RCC,接着对GPIO进行了初始化,这些都是我们刚才在CubeMX中配置好自动生成的代码,接着是wile函数,我们写入点亮LED的代码 HAL_GPIO_WritePin(GPIOB,GPIO_PIN_12,GPIO_PIN_RESET);
8.效果展示
9.注意
在一开始写代码时,我们会不知道如何进行操作,可以进行百度了解可能用到的函数,也可以在Drivers\STM32F4xx_HAL_Driver中查看相对应的.c和.h文件,比较推荐的是先进行.h文件的查看,因为.h中的函数比较直观,如HAL_GPIO_WritePin(),很明显就是写GPIO的端口状态的函数。通过浏览快速选中自己想要使用的函数,然后到.c里进行查找分析函数是否为自己要使用的函数。