![087662cc5ccf6afc914487c6c4384cf4.png](https://i-blog.csdnimg.cn/blog_migrate/6529b1cd25957c5ae717e55781184196.jpeg)
本篇文章主要介绍如何使用STM32CubeMX初始化STM32L431RCT6的GPIO,并点亮一个LED。
寻求更好的阅读体验,请移步:
【STM32Cube_03】使用GPIO点亮一个LEDwww.mculover666.cn![6fcc5644aa56f05e1c9fef6d6c2e4f2b.png](https://i-blog.csdnimg.cn/blog_migrate/d05a7f26940f4b55645be720117d70bd.jpeg)
1. 准备工作
硬件准备
- 开发板 首先需要准备一个开发板,这里我准备的是STM32L4的开发板(BearPi):
![828f9d6967a23ea19675b3327ecce45a.png](https://i-blog.csdnimg.cn/blog_migrate/bdad60a9d98343064e435bfe08e49643.jpeg)
软件准备
- 需要安装好Keil - MDK及芯片对应的包,以便编译和下载生成的代码;
2.生成MDK工程
选择芯片型号
打开STM32CubeMX,打开MCU选择器:
![9d8df40f3e8277c5d1efa33c7ec7e041.png](https://i-blog.csdnimg.cn/blog_migrate/450e3f123635f7e9a2a6bb6703b4ea2b.jpeg)
搜索并选中芯片STM32L431RCT6
:
![77a495023a0df19918a18fa39f3a014c.png](https://i-blog.csdnimg.cn/blog_migrate/3d6123534c42c0b3edc5ca65d738d33e.jpeg)
配置时钟源
- 如果选择使用外部高速时钟(HSE),则需要在System Core中配置RCC;
- 如果使用默认内部时钟(HSI),这一步可以略过;
这里我都使用外部时钟:
![87787693e4edf457f762c887081211d0.png](https://i-blog.csdnimg.cn/blog_migrate/f688adf365a46de1e6ab8fd520cc0485.jpeg)
配置GPIO引脚
查看小熊派开发板的原理图,如下:
![ada8e2c3edde8c714986d3b248d25ba2.png](https://i-blog.csdnimg.cn/blog_migrate/e4511cbad383111f26d11c9b09cfef94.jpeg)
所以接下来我们选择配置PC13
引脚:
![ed4fdf41489189b0e71aba569b497aa9.png](https://i-blog.csdnimg.cn/blog_migrate/544e84a6486b06faf7ab3cae87e55af4.jpeg)
配置时钟树
STM32L4的最高主频到80M,所以配置PLL,最后使HCLK = 80Mhz
即可:
![29bcf8a214136bfac231174442ba8e8d.png](https://i-blog.csdnimg.cn/blog_migrate/9217674fa378078320018ce314c707e0.jpeg)
生成工程设置
![383f0f04a4a6510f0c7a72e31315f9d1.png](https://i-blog.csdnimg.cn/blog_migrate/25cbb31b16b283ce8b50ac1345e8c5e6.jpeg)
代码生成设置
最后设置生成独立的初始化文件:
![a2574e193b2c1bad79297bb28671a09a.png](https://i-blog.csdnimg.cn/blog_migrate/af0bb3a35caeff49910a1f0610996f0d.jpeg)
生成代码
点击GENERATE CODE
即可生成MDK-V5工程:
![b6ca9fff9274c4386af1672632e74044.png](https://i-blog.csdnimg.cn/blog_migrate/af1bfa63d37dd161a8dacde3b947f01f.png)
生成成功
![6f1386d4053b0a8affb95519db7d4f67.png](https://i-blog.csdnimg.cn/blog_migrate/011be8a59902616571711e555ac600b2.jpeg)
3. 在MDK中编写、编译、下载用户代码
编写用户代码
STM32CubeMX生成的代码目录如下:
![979755919ecae5620ca28e965c3bdf48.png](https://i-blog.csdnimg.cn/blog_migrate/9e1ff9108a35f10191b25846ecdaee5b.jpeg)
进入MDK-ARM
目录,打开工程:
![9253c62ad2fa26a212a8a8e7f54b3e0c.png](https://i-blog.csdnimg.cn/blog_migrate/e7de3951efaa296d5e3b15b48722d722.jpeg)
在main.c
中的main函数中编写简单的用户代码:
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_Delay(200);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);
}
编译代码
编译整个工程:
![e7b1f8b61b1a0cfeaaa8a1c902aaef7e.png](https://i-blog.csdnimg.cn/blog_migrate/75ebee8b2f5ae2490ecd09722af01b6e.jpeg)
设置下载器
![be6ef7cf86e60d777fd2d4214ea82587.png](https://i-blog.csdnimg.cn/blog_migrate/44d776bb6265d75dd33668e1ed91e93f.jpeg)
![5c2b0e4795f94d93816e03540ef9c615.png](https://i-blog.csdnimg.cn/blog_migrate/dc274808336db2007846c7894b3659ec.jpeg)
下载运行
![8cdc13494b0643e7ef631d2e24640367.png](https://i-blog.csdnimg.cn/blog_migrate/adc37b2beb3c863da7fa696973083d8c.jpeg)
实验现象
![5fec916f9c1bd47c774142ae4883f049.png](https://i-blog.csdnimg.cn/blog_migrate/11417bf93199b7b6c4d86b00a204f417.jpeg)
至此,我们已经学会了如何使用STM32CubeMX快速生成MDK的工程,点亮一个LED,接下来一节讲述如何使用 STM32CubeMX初始化GPIO进行按键检测。
更多精彩文章及资源,请关注我的微信公众号:『mculover666』。
![52cb7991c343ae0bd6c406d596dac070.png](https://i-blog.csdnimg.cn/blog_migrate/1daf99dffa8185d283f386425bbfd7c3.jpeg)