STM32——使用cubemx和keil点亮第一个灯

一、环境
cubemx安装和搭建见博文
链接: STM32CubeMX安装
keil安装见软件安装管家,注意要是MDK版
二、cubemx操作
1.打开cubemx
在这里插入图片描述
2.选择ACCESS TO MCU SLCTOR,创建一个新的工程。
在这里插入图片描述
3.选择合适的芯片型号
在这里插入图片描述
具体的开发板芯片型号根据自己的板子来。我的是STMF429IG
在这里插入图片描述
4.选择IGTx之后,点击开始工程
在这里插入图片描述
在这里插入图片描述
5.进行引脚和时钟等的配置
在这里插入图片描述
在这里插入图片描述
引脚配置
在这里插入图片描述
要把PH10,PH11,PH12的引脚设置为输出模式。
搜索PH10,引脚会闪烁,然后点击引脚设置为输出模式
在这里插入图片描述
同样PH11,PH12都要进行这个操作。
设置完之后
在这里插入图片描述
将三个引脚的输出改为高电平。在这里插入图片描述

时钟配置
在这里插入图片描述
6.进入工程管理页面,进行路径的选择,以及其他的配置。
在这里插入图片描述
点击code generator
在这里插入图片描述
j进行其他的设置
在这里插入图片描述
设置完成之后,点击GENERATER CODE
在这里插入图片描述
在弹出的页面的指示下,点击OPEN PROJECT。
CUBEMX的操作结束,下面进入KEIL界面。

三、keil操作以及实验现象
1.首先是各个地方的基本配置
在这里插入图片描述
edit >configuration
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
勾选Browse Information之后,可以实现程序的跳转。
在这里插入图片描述
点击debug选项,将ST—LINK换成CMSIS
在这里插入图片描述
之后继续点击settings
在这里插入图片描述
这里就表示可以识别到仿真器,并可以进行程序的下载。
点击Flash Download
在这里插入图片描述
勾选reset and run 。
设置完后之后,点击ok进行确定。

2.程序的编辑
要把程序写在begin和and之间,这样可以避免重新进行配置的时候把我们自己写的代码刷掉。
①点亮第一个灯的代码如下。

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */
  HAL_GPIO_WritePin(GPIOH,GPIO_PIN_10,GPIO_PIN_RESET);
  /* USER CODE END 2 */

在这里插入图片描述
代码解释
使用HAL_GPIO_WritePin对GPIO口进行设置,
其中GPIOH,代表的是对GPIOH进行操作
在这里插入图片描述
在这里插入图片描述
GPIO_PIN_10,代表的是H组的引脚10。
在这里插入图片描述
RESET代表是0,SET代表的是1。
这行代码就实现了一个简单的点灯操作。
实验现象
在这里插入图片描述
②咱们继续尝试,继续玩

 /* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */
  HAL_GPIO_WritePin(GPIOH,GPIO_PIN_10,GPIO_PIN_SET);
	HAL_GPIO_WritePin(GPIOH,GPIO_PIN_11,GPIO_PIN_RESET);
  /* USER CODE END 2 */

这段代码的含义和上面差不多,就是让PH10不置0,让PH11置0,从而实现点灯操作。这里是一个灯里面有三个不同颜色的灯珠,这次点亮的是与PH11相连的发光二极管。
实验现象
在这里插入图片描述
同样的对PH12进行操作

/* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */
  HAL_GPIO_WritePin(GPIOH,GPIO_PIN_10,GPIO_PIN_SET);
	HAL_GPIO_WritePin(GPIOH,GPIO_PIN_11,GPIO_PIN_SET);
	HAL_GPIO_WritePin(GPIOH,GPIO_PIN_12,GPIO_PIN_RESET);
  /* USER CODE END 2 */

实验结果
在这里插入图片描述
③难度升级,加一个按键操作控制灯的亮灭
我们首先看一下原理图。
在这里插入图片描述
这里拿PA0举例。
打开CUBEMX,搜索PA0,找到PA0这个引脚,并将其设置为输入模式。
在这里插入图片描述
在这里插入图片描述
那么按键就设置好了。我们点击GENERATE CODE。

原来的就被覆盖了,我们按照窗口提示,同意reload。
接下来进行对按键进行编码。
在这里插入图片描述


  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */
 // HAL_GPIO_WritePin(GPIOH,GPIO_PIN_10,GPIO_PIN_SET);
	//HAL_GPIO_WritePin(GPIOH,GPIO_PIN_11,GPIO_PIN_SET);
	//HAL_GPIO_WritePin(GPIOH,GPIO_PIN_12,GPIO_PIN_RESET);
	GPIO_PinState k1
  /* USER CODE END 2 */

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

    /* USER CODE BEGIN 3 */
		k1 = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0);
		if(k1 == GPIO_PIN_SET)
		{
			HAL_GPIO_ReadPin(GPIOH,GPIO_PIN_10,GPIO_PIN_RESET)
		}
		else
		 HAL_GPIO_ReadPin(GPIOH,GPIO_PIN_10,GPIO_PIN_SET)	
  }
  /* USER CODE END 3 */
}

Ⅰ、初始化,将Pinstate用k1来标识。

GPIO_PinState k1

Ⅱ、读取按键状态

	k1 = HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0);

在这里插入图片描述
第一个参数为端口,第二个参数为具体的引脚编号。
Ⅲ、if else,如果检测到按键是高电平,那么红灯亮,否则的话。不亮。

	if(k1 == GPIO_PIN_SET)
		{
			HAL_GPIO_WritePin(GPIOH,GPIO_PIN_10,GPIO_PIN_RESET);
		}
		else
		 HAL_GPIO_WritePin(GPIOH,GPIO_PIN_10,GPIO_PIN_SET);	
  }
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您好,要在STM32CubeMX生成Keil5项目,请按照以下步骤操作: 1. 打开STM32CubeMX软件,选择您的STM32芯片型号。 2. 在“Project Manager”选项卡中,选择“Toolchain / IDE”选项。 3. 在“Toolchain / IDE”选项中,选择“Keil MDK-ARM”选项,并选择您的Keil安装路径。 4. 点击“Generate Code”按钮,STM32CubeMX将自动生成Keil5项目。 5. 打开Keil5软件,选择“File”菜单中的“Open Project”,并选择STM32CubeMX生成Keil5项目文件。 6. 在Keil5中编译和调试您的STM32项目。 希望这些步骤能够帮助您生成Keil5项目。如果您有任何疑问,请随时联系我们。 ### 回答2: STM32CubeMX是一款支持多种开发环境、可视化配置STM32微控制器的软件,可以大大简化STM32芯片的初始化和配置工作,提高了开发效率。 在STM32CubeMX生成 Keil5 工程步骤如下: 1.新建工程。 在STM32CubeMX中,首先需要新建一个工程。进入STM32CubeMX界面,选择New Project。在弹出的框中,选择要使用的芯片型号。 2.配置芯片外设和时钟。 在新建工程后,需要配置芯片外设和时钟。首先打开对应的“Pinout”选项卡,选择和芯片相应的引脚,分配到相应的功能(例如USART、SPI或I2C等)。接着打开“Clock Configuration”选项卡配置时钟。可通过PLL、HSE和HSI等不同的时钟源配置系统时钟。 3.生成代码。 配置外设和时钟后,在STM32CubeMX界面打开“Project Manager”选项卡,选择 “Toolchain/IDE”选项。 这里选择Keil5,并在弹出的框中设置ARM Compiler,然后单击“Generate Code”按钮生成Keil5所需的代码文件。 4.在Keil5中导入CubeMX生成的工程。 进入Keil5,选择“Project”>>“Open Project”打开CubeMX生成Keil5工程所在的文件夹,选择“Project.uvprojx”打开工程文件,即可导入工程。 5.编译和调试。 在导入工程后,即可使用Keil5熟悉的编译和调试功能,各种调试器和仿真器也可以直接在Keil5中配置和使用。 总体来说,使用STM32CubeMX生成Keil5工程可以大大简化STM32芯片的初始化和配置工作,使得开发人员可以更专注于开发新的应用程序功能。 ### 回答3: STM32CubeMX是一款免费的软件工具,它可以帮助用户自动生成基于STM32微控制器的初始化代码,以及集成开发环境(IDE)配置文件,包括Keil的IDE环境。Keil是一款非常知名的C语言IDE,它支持多种嵌入式微控制器系统的开发,包括STM32系列。STM32CubeMX是一款免费的软件工具,它可以帮助用户自动生成基于STM32微控制器的初始化代码,以及集成开发环境(IDE)配置文件,包括Keil的IDE环境。Keil是一款非常知名的C语言IDE,它支持多种嵌入式微控制器系统的开发,包括STM32系列。 生成Keil5的步骤如下: 1. 打开STM32CubeMX软件,创建一个新的STM32工程。根据需要选择正确的工程类型和STM32微控制器系列。 2. 进入“Project Manager”选项卡,设置工程存储路径。 3. 如果需要,添加一些需要使用的扩展库,并选择要使用的操作系统。 4. 在“Pinout & Configuration”选项卡中针对 GPIO、ADC、PWM 和其他外设进行配置。配置结束后,单击“Generate Code”以生成HAL库代码和Keil5 IDE项目文件。 5. 单击“Project”,选择“Export” -> “Generate Code” -> “Keil”以打开Keil5 IDE的STM32CubeMX项目文件。 6. 在Keil5中,可以为该项目配置需要的信息,如编译器、下载器、调试器等。 7. 单击“Build”以编译STM32的代码,并使用下载器和调试器调试应用程序。 总之,STM32CubeMXKeil5是非常有用的嵌入式技术工具,它们可以帮助开发者提高开发效率和开发质量。使用它们可以方便快捷地生成STM32代码并将其集成到Keil5 IDE中,为STM32开发带来便利。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值