欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【STM32Cube_02】使用GPIO点亮一个LED灯

程序员文章站 2022-07-08 13:35:50
1 STM32CubeMX加载库文件1 加载STM32CubeMX加载库文件,打开STM32CubeMX,点击Help—>Mangage embeded softwore packages2 因为我们还没有加载库文件,所以会出现下面的情况,说明库文件还没有加载。3 这时我们退出来,点击Help—>Updater Setting4 在弹出的界面里面修改我们库文件路径。这个路径就是我们下载好的库文件的路径。5 这时我们会发现库已经正常的加载进去了。2 STM32的GPIO开发基...

Author:果果小师弟 电子信息专业在读研究生
有一点思考,有一点想法,有一点理性!
定个小小目标,努力成为习惯!在最美的年华遇见更好的自己!
CSDN@果果小师弟,CSDN首发,果果原创
个人主页的地址为: ???? 果果小师弟的个人小站 ????

1 STM32CubeMX加载库文件

1 加载STM32CubeMX加载库文件,打开STM32CubeMX,点击Help—>Mangage embeded softwore packages
【STM32Cube_02】使用GPIO点亮一个LED灯
2 因为我们还没有加载库文件,所以会出现下面的情况,说明库文件还没有加载。
【STM32Cube_02】使用GPIO点亮一个LED灯
3 这时我们退出来,点击Help—>Updater Setting
【STM32Cube_02】使用GPIO点亮一个LED灯
4 在弹出的界面里面修改我们库文件路径。这个路径就是我们下载好的库文件的路径。
【STM32Cube_02】使用GPIO点亮一个LED灯
5 这时我们会发现库已经正常的加载进去了。
【STM32Cube_02】使用GPIO点亮一个LED灯

2 STM32的GPIO开发基础

1 首先选择MCU,点击ACCESS TO MCU SELECTOR

【STM32Cube_02】使用GPIO点亮一个LED灯
2 这时会弹出一个界面会下载一些配置文件,只需要几秒钟。
【STM32Cube_02】使用GPIO点亮一个LED灯
3 按照如下步骤选择对应的芯片,点击Start Project
【STM32Cube_02】使用GPIO点亮一个LED灯

4 配置时钟源

  • 如果选择使用外部高速时钟(HSE),则需要在System Core中配置RCC;
  • 如果使用默认内部时钟(HSI),这一步可以略过;

这里使用外部时钟:
【STM32Cube_02】使用GPIO点亮一个LED灯
设置好之后还要设置具体的时钟分频因子,至于为啥按照如下设置,是因为对于F1的板子来说,四个时钟的配置一般是:PCLK2 = HCLK= SYSCLK=PLLCLK = 72M,PCLK1=HCLK/2 = 36M。这个时钟配置也是库函数的标准配置,我们用的最多的就是这个。
【STM32Cube_02】使用GPIO点亮一个LED灯
5 配置GPIO引脚 在原理图上如下:
【STM32Cube_02】使用GPIO点亮一个LED灯
所以接下来我们选择配置PC13引脚:
【STM32Cube_02】使用GPIO点亮一个LED灯
6 生成工程设置
【STM32Cube_02】使用GPIO点亮一个LED灯
【STM32Cube_02】使用GPIO点亮一个LED灯
【STM32Cube_02】使用GPIO点亮一个LED灯
将HAL库的所有.C和.H都复制到所建工程中
优点:这样如果后续需要新增其他外设又可能不再用STM32CubeMX的时候便会很方便
缺点: 体积大,编译时间长(很长)
【STM32Cube_02】使用GPIO点亮一个LED灯
只复制所需要的.C和.H (推荐)
优点:体积相对小,编译时间短,并且工程可复制拷贝
缺点: 新增外设时需要重新用STM32CubeMX导入

【STM32Cube_02】使用GPIO点亮一个LED灯
不复制文件,直接从软件包存放位置导入.C和.H
优点:体积小,比较节约硬盘空间
缺点: 复制到其他电脑上或者软件包位置改变,就需要修改相对应的路径
自行选择方式即可

7 生成代码

点击GENERATE CODE即可生成MDK-V5工程:

【STM32Cube_02】使用GPIO点亮一个LED灯

8 STM32CubeMX生成的代码目录如下:
【STM32Cube_02】使用GPIO点亮一个LED灯
9 进入MDK-ARM目录,打开工程
【STM32Cube_02】使用GPIO点亮一个LED灯
10 在main.c中的main函数中编写简单的用户代码:

  while (1)
  {
    /* USER CODE END WHILE */
    /* USER CODE BEGIN 3 */
    HAL_Delay(300);
	HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);//led灯300ms亮灭一次
  }

11 编译代码 然后编译整个工程
【STM32Cube_02】使用GPIO点亮一个LED灯
12 设置下载器
【STM32Cube_02】使用GPIO点亮一个LED灯
【STM32Cube_02】使用GPIO点亮一个LED灯
【STM32Cube_02】使用GPIO点亮一个LED灯
13 下载运行 最后点击下载即可
【STM32Cube_02】使用GPIO点亮一个LED灯
14 实验现象

实验现象如下:
【STM32Cube_02】使用GPIO点亮一个LED灯
至此,我们已经学会了如何使用STM32CubeMX快速生成MDK的工程,点亮一个LED,接下来一节讲述如何使用 STM32CubeMX初始化GPIO进行按键检测。
【STM32Cube_02】使用GPIO点亮一个LED灯
【STM32Cube_02】使用GPIO点亮一个LED灯


好书不厌百回读,熟读自知其中意。将学习成为习惯,用知识改变命运,用博客见证成长,用行动证明努力。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
听说 ???? 点赞 ???? 的人运气不会太差,每一天都会元气满满呦!^ _ ^ ❤️ ❤️ ❤️
码字不易,大家的支持就是我坚持下去的动力。点赞后不要忘了???? 关注 ????我哦!

更多精彩内容请前往 果果小师弟的微信公众号


如果以上内容有任何错误或者不准确的地方,欢迎在下面 ???? 留个言。或者你有更好的想法,欢迎一起交流学习~~~
【STM32Cube_02】使用GPIO点亮一个LED灯

本文地址:https://blog.csdn.net/qq_39400113/article/details/109262534