STM32cubeIDE(HAL库)学习记录——点灯

STM32cubeIDE学习记录——点灯

  • 平台介绍
  • 暗色主题
  • 步骤
    • 创建工作空间
    • 创建工程
    • 配置工程
    • 添加代码
    • 编译运行

平台介绍

本文基于STM32F103ZET6
STM32cubeIDE版本1.7.0
关于IDE安装,这里不做介绍,论坛有很多文章介绍,自行搜搜索。

暗色主题

在菜单栏里选择Help下的Eclipse Marketplace,在弹出来的选项卡里选择Popular,找到如图一所示的插件,点击Install按钮安装,等待安装完成,会自动重启你的STM32cubeIDE。这里是已经安装过了,所以在安装按钮那显示Installe。
STM32cubeIDE(HAL库)学习记录——点灯_第1张图片

步骤

创建工作空间

主题安装完成后,等待重启完成,如图二所示,会让你选择工程工作空间或者创建新工程空间。选择创建一个新工程空间。
STM32cubeIDE(HAL库)学习记录——点灯_第2张图片
选择你想要创建的工程路径,点击输入框后面的文件夹按钮,选择路径,如图三所示。

注意:选择的路径里不要带中文!不要带中文!不要带中文!

STM32cubeIDE(HAL库)学习记录——点灯_第3张图片
选择好路径之后,点击文件夹后面的开始图标,如图四所示。
STM32cubeIDE(HAL库)学习记录——点灯_第4张图片

创建工程

等待资源加载完毕,在主页选择start new stm32 project,创建新的stm32工程,如图五所示。
STM32cubeIDE(HAL库)学习记录——点灯_第5张图片
等待加载完毕后在搜索栏里搜索你的单片机型号,这里选择为stm32f103zetX,如果你经常使用该型号的片子,可以点击型号前面的星星将该型号的片子收藏,下次直接去收藏夹里直接看到该型号,如图六、七所示。
STM32cubeIDE(HAL库)学习记录——点灯_第6张图片
STM32cubeIDE(HAL库)学习记录——点灯_第7张图片
选择好后点击Next,在文本栏输入你的工程名字,其他默认就可以,如图八所示。
STM32cubeIDE(HAL库)学习记录——点灯_第8张图片
点击Next,选项全部选择默认即可,点击Finish完成,在弹出的提示框里勾选记住我的选择后,点击Yes,如图九所示。
STM32cubeIDE(HAL库)学习记录——点灯_第9张图片

配置工程

等待加载完成,这个过程可能很长,也可能很短,取决于你的网速。跳转到和stm32cubeMX界面一样的配置界面。使用过stm32cubeMX的朋友到这一步已经知道怎么做了。
首先配置你的时钟源,在左边选择RCC选项卡,High Speed Clock(HSE)高速时钟(HSE)选择
CrystalCeramic Resonator结晶陶瓷谐振器,也就是我们常说的晶振,如图十所示。
STM32cubeIDE(HAL库)学习记录——点灯_第10张图片
接下来配置我们的Debug模式,在左边选项卡选择sys,如果你是st-link或者j-link,直接选择serial wire模式即可,即sw模式。
STM32cubeIDE(HAL库)学习记录——点灯_第11张图片
接下来配置时钟树,在顶部菜单栏选择Clock Configuration ,stm32f103zet6时钟最高72M,如图十二进行配置即可。
STM32cubeIDE(HAL库)学习记录——点灯_第12张图片
配置好时钟树后,对照手里的原理图查看LED灯分别接在哪个GPIO口,然后在右边的芯片引脚图中查找对应的GPIO,选择为Output输出模式。如图十三、十四所示,这里选择PB5和PE5两个LED灯。
STM32cubeIDE(HAL库)学习记录——点灯_第13张图片
STM32cubeIDE(HAL库)学习记录——点灯_第14张图片

选择好后,配置两个GPIO口为推挽输出,根据自己原理图是否接入上拉电阻来选择GPIO上拉或者下拉,方便辨识,写上LED0和LED1进行区分,如图十五所示。
STM32cubeIDE(HAL库)学习记录——点灯_第15张图片
配置好后,在菜单栏选择Peoject Manager,选择code generator,将如图十六所示的选项卡选择,使每次生成的代码都为配置的外设创建独立的.c文件和.h文件。
STM32cubeIDE(HAL库)学习记录——点灯_第16张图片

添加代码

上一步CTRL+S 保存,在弹出的提示框全部勾选“记住我的选择”,点Yes,等待工具生成代码。生成之后在右边就会出现工程目录,找到并双击打开main.c以及main.h文件,如图十七所示。
STM32cubeIDE(HAL库)学习记录——点灯_第17张图片
main.h里面找到了工具为我们生成的关于GPIOB、E的宏定义。

#define LED1_Pin GPIO_PIN_5
#define LED1_GPIO_Port GPIOE
#define LED0_Pin GPIO_PIN_5
#define LED0_GPIO_Port GPIOB

在main.c文件里,找到大循环while,添加如下代码。

  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
	  HAL_GPIO_WritePin(GPIOE,GPIO_PIN_5,SET);
	  HAL_Delay(1000);
	  HAL_GPIO_WritePin(GPIOE,GPIO_PIN_5,RESET);
	  HAL_Delay(1000);

	  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,SET);
	  HAL_Delay(1000);
	  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,RESET);
	  HAL_Delay(1000);
  }
  /* USER CODE END 3 */
}

注意:必须在类似于下面的行中间添加自己的代码,其他地方的代码会被下次重新生成的代码覆盖掉!

    /* USER CODE BEGIN 3 */
    
  /* USER CODE END 3 */

编译运行

添加好代码后,点击如图十八所示的按钮,编译工程。
STM32cubeIDE(HAL库)学习记录——点灯_第18张图片
如图十九所示,输出显示编译0个错误,0个警告,编译完成。
STM32cubeIDE(HAL库)学习记录——点灯_第19张图片
接下来连接调试器和电路板或者开发板,点击如图二十所示的甲壳虫图标旁边的三角下来菜单,选择Debug configurations…,配置Debug。
STM32cubeIDE(HAL库)学习记录——点灯_第20张图片
双击左面最后一项,STM32 cortex-M C/C++ APP,选择调试器选项,如图二十一所示,在调试探头下拉菜单选择你的调试器,这里选择J-link,选择完成后点击APPly保存配置,点击Debug开始在线调试。
STM32cubeIDE(HAL库)学习记录——点灯_第21张图片
在弹出的对话框选择“记住我的选择”,然后点击切换按钮,如图二十二所示。
STM32cubeIDE(HAL库)学习记录——点灯_第22张图片
此时在线调试准备就绪,点击全速运行进行调试,如图二十三所示。
STM32cubeIDE(HAL库)学习记录——点灯_第23张图片
至此,代码已经烧到片子上了,发现LED灯0和LED灯1在交替闪烁!如图二十四所示。
STM32cubeIDE(HAL库)学习记录——点灯_第24张图片
希望带给有需要的人,给大家带来帮助。

你可能感兴趣的:(嵌入式,c语言,单片机,stm32,arm,驱动开发)