当前位置: 首页 > news >正文

植物网站建设企业网站推广方案设计

植物网站建设,企业网站推广方案设计,网站会员充值做哪个分录,照片网站模版文章目录 前言一、STM32点亮LED灯的原理1.1GPIO是什么1.2点亮LED灯的原理 二、STM32Cubemx创建工程三、proteus仿真电路图四、程序代码编写1.LED灯操作函数介绍HAL_GPIO_WritePin函数原型参数说明示例代码 HAL_GPIO_TogglePin函数原型参数说明示例代码 2.代码编写3.烧写程序 总…

文章目录

  • 前言
  • 一、STM32点亮LED灯的原理
    • 1.1GPIO是什么
    • 1.2点亮LED灯的原理
  • 二、STM32Cubemx创建工程
  • 三、proteus仿真电路图
  • 四、程序代码编写
    • 1.LED灯操作函数介绍
      • HAL_GPIO_WritePin
        • 函数原型
        • 参数说明
        • 示例代码
      • HAL_GPIO_TogglePin
        • 函数原型
        • 参数说明
        • 示例代码
    • 2.代码编写
    • 3.烧写程序
  • 总结


前言

本篇文章开始带大家学习如何使用proteus和STM32Cubemx来完成STM32的学习,第一节课我们先来学习点亮LED灯。

proteus使用8.9版本。

STM32Cubemx使用6.3版本。

一、STM32点亮LED灯的原理

1.1GPIO是什么

GPIO(General-Purpose Input/Output,即通用输入输出)是微控制器上的一种通用引脚。GPIO引脚可以配置为输入或输出模式,用来读取外部信号(如按钮按下的状态)或控制外部设备(如点亮LED灯)。GPIO是微控制器与外部世界交互的重要接口,广泛应用于嵌入式系统中。

GPIO的基本功能
输入模式:引脚可以读取外部设备的状态,例如开关、按钮等。
输出模式:引脚可以输出高电平或低电平信号,用来控制外部设备,例如LED灯、继电器等。
中断功能:某些GPIO引脚可以配置为中断模式,当引脚状态发生变化时触发中断。
复用功能:有些GPIO引脚可以复用为其他外设功能,例如UART、SPI、I2C等。

1.2点亮LED灯的原理

1.配置GPIO引脚
首先,需要将微控制器的某个GPIO引脚配置为输出模式。以STM32为例,通常需要以下步骤:

使能GPIO时钟:在配置GPIO之前,需要使能对应的GPIO端口时钟。例如,使用GPIOA端口时,需要使能GPIOA的时钟。
配置引脚模式:将对应引脚配置为输出模式。
配置引脚类型和速度:可以选择推挽输出或开漏输出,并设置输出速度(低速、中速、高速)。

2.控制GPIO引脚输出
配置好GPIO引脚后,可以通过控制引脚的电平来点亮或熄灭LED灯。LED灯通常连接在GPIO引脚与地之间(阳极接GPIO引脚,阴极接地),或者GPIO引脚与Vcc之间(阴极接GPIO引脚,阳极接Vcc)。

点亮LED:将GPIO引脚输出低电平(0V),电流从Vcc流经LED到地,LED点亮。
熄灭LED:将GPIO引脚输出高电平(3.3V或5V),LED两端电压相同,无电流流过,LED熄灭。

3.完整流程
使能时钟:启用GPIO端口的时钟。
初始化引脚:配置GPIO引脚为输出模式。
控制电平:通过设置引脚的高低电平来控制LED灯的点亮与熄灭。

二、STM32Cubemx创建工程

1.选择芯片型号:

在这里插入图片描述
在这里插入图片描述
2.配置Debug:
在这里插入图片描述
3.配置时钟
在这里插入图片描述
4.设置时钟树

输入72双击回车即可。
在这里插入图片描述

5.工程配置
在这里插入图片描述
在这里插入图片描述
6.选择一个引脚作为输出引脚,用于点亮LED灯
在这里插入图片描述

三、proteus仿真电路图

1.创建工程
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.添加对应的元器件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.元器件放置

这里还需要注意电阻值的大小,电阻假如太大的可能会导致LED灯无法被点亮。
在这里插入图片描述
4.STM32时钟主频设置

这里设置成72MHZ和STM32Cubemx中设置的保持一致

在这里插入图片描述

5.提供配电网
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、程序代码编写

1.LED灯操作函数介绍

在STM32 HAL库中,HAL_GPIO_WritePinHAL_GPIO_TogglePin是两个常用的GPIO控制函数。下面详细讲解它们的功能和使用方法。

HAL_GPIO_WritePin

HAL_GPIO_WritePin函数用于设置指定GPIO引脚的电平状态。这个函数可以将GPIO引脚设置为高电平或低电平,以控制连接到该引脚的外部设备(如LED灯)。

函数原型
void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);
参数说明
  • GPIOx: 指定GPIO端口基地址,具体可以是GPIOA, GPIOB, GPIOC等。
  • GPIO_Pin: 指定GPIO引脚,使用宏定义,如GPIO_PIN_0, GPIO_PIN_1等。可以通过按位或运算指定多个引脚,例如GPIO_PIN_0 | GPIO_PIN_1
  • PinState: 指定引脚状态,可以是以下值之一:
    • GPIO_PIN_RESET(低电平)
    • GPIO_PIN_SET(高电平)
示例代码
// 将GPIOA的第5个引脚设置为低电平
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET);// 将GPIOA的第5个引脚设置为高电平
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);

HAL_GPIO_TogglePin

HAL_GPIO_TogglePin函数用于切换指定GPIO引脚的电平状态。如果引脚当前是高电平,则切换为低电平;如果引脚当前是低电平,则切换为高电平。这个函数常用于控制需要反复切换状态的设备,例如闪烁的LED灯。

函数原型
void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
参数说明
  • GPIOx: 指定GPIO端口基地址,具体可以是GPIOA, GPIOB, GPIOC等。
  • GPIO_Pin: 指定GPIO引脚,使用宏定义,如GPIO_PIN_0, GPIO_PIN_1等。可以通过按位或运算指定多个引脚,例如GPIO_PIN_0 | GPIO_PIN_1
示例代码
// 切换GPIOA的第5个引脚的电平状态
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);

2.代码编写

在这里插入图片描述

3.烧写程序

将对应的hex文件选择进去。
在这里插入图片描述
运行程序
在这里插入图片描述
LED灯被点亮:

在这里插入图片描述

总结

本篇文章就讲解到这里,大家有什么疑问都可以留言。

本篇文章代码和工程将放在微信公众号中。

回复 STM32仿真LED即可领取源码和工程。

http://www.15wanjia.com/news/398.html

相关文章:

  • 代码软件外贸网站seo优化
  • 深圳网站建设深圳企业网站建设如何做优化排名
  • 深圳优化网站百度关键词排名
  • 单位做网站备案用身份证有啥用牡丹江网站seo
  • 购买网站搜狗搜索引擎优化
  • c 创建一个网站怎么做数据分析师培训机构
  • 网站开发的目的和意义品牌运营管理有限公司
  • 滕州市东方建设工程事务有限公司网站2023疫情第三波爆发时间
  • 温州鹿城做鸭网站建立网站要多少钱一年
  • 移动网站建设案例网店培训班
  • 网站建设的目的及功能定位是啥世界杯比分查询
  • dw做的网站怎么放到服务器上免费推广产品的平台
  • 腾龙时时彩做号网站落实好疫情防控优化措施
  • ui设计岗前培训3个月骗局南宁seo外包平台
  • 网站要素极速一区二区三区精品
  • 想做外贸做哪些网站好免费源码资源源码站
  • 做网站得多钱最好的推广平台排名
  • 做购物网站的步骤海口关键词优化报价
  • 汽车网站建设参考文献开题报告免费手机网页制作
  • 做惠而浦售后网站赚钱哪个杭州seo好
  • 网页设计与网站建设作品百度竞价推广的优势
  • 漯河市网站建设2345网址导航智能主板
  • 文章一键导入wordpress云南seo网络优化师
  • wordpress escattr刷seo排名
  • wordpress后台修改icp连接sem推广优化
  • 临沭县住房和城乡建设局网站万词霸屏百度推广seo
  • 合肥市建设网站百度网盟
  • 郑州建设网店网站嘉兴seo外包平台
  • 网站开发工作流审批流个人免费域名注册网站
  • 网站建设行业的前景网站收录工具