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

这篇具有很好参考价值的文章主要介绍了STM32——使用cubemx和keil点亮第一个灯。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

时钟配置
stm32cubemx和keil,32单片机基础,stm32,嵌入式硬件,单片机
6.进入工程管理页面,进行路径的选择,以及其他的配置。
stm32cubemx和keil,32单片机基础,stm32,嵌入式硬件,单片机
点击code generator
stm32cubemx和keil,32单片机基础,stm32,嵌入式硬件,单片机
j进行其他的设置
stm32cubemx和keil,32单片机基础,stm32,嵌入式硬件,单片机
设置完成之后,点击GENERATER CODE
stm32cubemx和keil,32单片机基础,stm32,嵌入式硬件,单片机
在弹出的页面的指示下,点击OPEN PROJECT。
CUBEMX的操作结束,下面进入KEIL界面。

三、keil操作以及实验现象
1.首先是各个地方的基本配置
stm32cubemx和keil,32单片机基础,stm32,嵌入式硬件,单片机
edit >configuration
stm32cubemx和keil,32单片机基础,stm32,嵌入式硬件,单片机
stm32cubemx和keil,32单片机基础,stm32,嵌入式硬件,单片机
stm32cubemx和keil,32单片机基础,stm32,嵌入式硬件,单片机
stm32cubemx和keil,32单片机基础,stm32,嵌入式硬件,单片机
勾选Browse Information之后,可以实现程序的跳转。
stm32cubemx和keil,32单片机基础,stm32,嵌入式硬件,单片机
点击debug选项,将ST—LINK换成CMSIS
stm32cubemx和keil,32单片机基础,stm32,嵌入式硬件,单片机
之后继续点击settings
stm32cubemx和keil,32单片机基础,stm32,嵌入式硬件,单片机
这里就表示可以识别到仿真器,并可以进行程序的下载。
点击Flash Download
stm32cubemx和keil,32单片机基础,stm32,嵌入式硬件,单片机
勾选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 */

stm32cubemx和keil,32单片机基础,stm32,嵌入式硬件,单片机
代码解释
使用HAL_GPIO_WritePin对GPIO口进行设置,
其中GPIOH,代表的是对GPIOH进行操作
stm32cubemx和keil,32单片机基础,stm32,嵌入式硬件,单片机
stm32cubemx和keil,32单片机基础,stm32,嵌入式硬件,单片机
GPIO_PIN_10,代表的是H组的引脚10。
stm32cubemx和keil,32单片机基础,stm32,嵌入式硬件,单片机
RESET代表是0,SET代表的是1。
这行代码就实现了一个简单的点灯操作。
实验现象
stm32cubemx和keil,32单片机基础,stm32,嵌入式硬件,单片机
②咱们继续尝试,继续玩

 /* 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相连的发光二极管。
实验现象
stm32cubemx和keil,32单片机基础,stm32,嵌入式硬件,单片机
同样的对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 */

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

原来的就被覆盖了,我们按照窗口提示,同意reload。
接下来进行对按键进行编码。
stm32cubemx和keil,32单片机基础,stm32,嵌入式硬件,单片机


  /* 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);

stm32cubemx和keil,32单片机基础,stm32,嵌入式硬件,单片机
第一个参数为端口,第二个参数为具体的引脚编号。
Ⅲ、if else,如果检测到按键是高电平,那么红灯亮,否则的话。不亮。文章来源地址https://www.toymoban.com/news/detail-714276.html

	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);	
  }

到了这里,关于STM32——使用cubemx和keil点亮第一个灯的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32CubeMX里面没有 CLion的SW4STM32选项(CLion修改单片机型号)

            大家在使用最新版本的CubeMX按照网上的一些教程配置CLion时通常会遇到编译器选项里面没有SW4STM32的选项的问题。          根据网上的很多人都会要求把CubeMX降低到某个版本以下,但是一直使用低版本肯定不是解决问题的方法。其实在CLion文档里面就有解决方

    2024年02月05日
    浏览(39)
  • [初学单片机]stm32f103C8T6最小系统板快速完成点亮led灯

    目录 一、准备工作 二、建立工程模板 三、配置keil5 四、程序 五、程序下载(烧录)  六、总结 ① keil5,自行下载安装; ② 库函数包,这里我上传了一个F1xx的库函数包,可以在建立工程模板的时候用到;1,STM32F1xx固件库.rar - 蓝奏云 ③ STM32F103C8T6最小系统班,淘宝十几块;

    2024年02月01日
    浏览(49)
  • proteus结合keil-arm编译器构建STM32单片机项目进行仿真

        proteus是可以直接创建设计图和源码的,但是源码编译它需要借助keil-arm编译器,也就是我们安装keil-mdk之后自带的编译器。     下面给出一个完整的示例,主要是做一个LED灯闪烁的效果。     新建工程指定路径,Schematic,PCB layout都选择默认,在最后创建项目工程向导的时

    2024年02月13日
    浏览(49)
  • 单片机 嵌入式开发软件介绍对比与推荐(Keil、IAR、VSCode、Clion、STM32CubeIDE)

    单片机 嵌入式开发软件介绍对比与推荐(Keil、IAR、VSCode、Clion、STM32CubeIDE) KEI官网:www.keil.com         Keil与MDK(Microcontroller Development Kit)是同一个软件开发工具套件的不同名称。         Keil是一家德国公司,而MDK是他们开发的一款集成开发环境(IDE),通常称为Keil

    2024年02月06日
    浏览(65)
  • 最详细STM32,cubeMX 点亮 led

    这篇文章将详细介绍 如何在 stm32103 板子上点亮一个LED. 实验开发板:STM32F103C8T6。 所需软件:keil5 , cubeMX 。 实验目的:了解 led 点亮原理,cubeMX配置 , GPIO 等相关函数 。 代码编写软件 : MDK keil5 。 图形化配置软件 :STM32cubeMX。 仿真器驱动 : STLINK 。 串口驱动 :CH340 。

    2024年01月16日
    浏览(40)
  • STM32 通过PWM输出一个方波并通过定时器输入捕获模式测量方波的周期(cubeMX+keil配置)

    前言:本文章用cubeMX和keil来进行代码编写,实现STM32的相应功能 本文章使用的STM32核心板是STM32H743VIT6,如果使用的是其他的核心板操作过程类似,可以尝试使用此教程。 (1)首先点击左侧的Timers  (2)选择一个定时器配置PWM 我选择的是TIM5,如上图 点击TIM5 Mode的配置如下

    2024年02月19日
    浏览(46)
  • STM32CubeMX教程2 GPIO输出 - 点亮LED灯

    开发板(STM32F407G-DISC1) STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK-Arm) ST-LINK/V2驱动 使用STM32CubeMX软件配置STM32F407开发板点亮LED灯 笔者使用的STM32F407G-DISC1开发板主控制器为STM32F407VGT6,该MCU封装为LQFP 100,一共100个引脚,除去16个POWER引脚、1个NRST引脚和一个BOOT0引脚外,

    2024年02月03日
    浏览(50)
  • 在STM32上实现一个数据采集和存储系统(单片机软件与硬件)

    1. 硬件选择: 选择合适的STM32系列微控制器,根据采集数据的要求选择处理器型号和性能。同时,根据需要考虑外设模块,如ADC、SPI、I2C等。 2. 连接传感器: 根据需要选择合适的传感器,并将传感器与STM32的相应引脚连接。注意检查引脚的电平和电流要求,确保接口匹配。

    2024年02月03日
    浏览(43)
  • STM32——01-开发软件Keil5及STM32CubeMX的安装

    1.1开发环境的安装  编程语言:C语言 需要安装的软件有两个:Keil5和STM32CubeMX 安装         安装包(不需要太新,以 MDK324 为例,最新的 MDK327 有问题)         安装过程一路下一步即可(建议不要安装在 C 盘)         安装路径一定不要有中文或空格!!(重要

    2024年02月08日
    浏览(39)
  • STM32CubeMX+Keil5新建工程

    STM32CubeMx 软件是 ST 公司为 STM32 系列单片机快速建立工程,并快速初始化使用到的外设、GPIO 等,大大缩短了我们的开发时间。简单地说STM32CubeMX 本身就是一个工具软件,我们只要在上面通过图形化配置就可以生成STM32 功能代码工程,这样节省我们的工作量。在之前没有用这个

    2024年01月19日
    浏览(107)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包