合肥中科深谷嵌入式项目实战——人工智能与机械臂(三)

简介: 合肥中科深谷嵌入式项目实战——人工智能与机械臂(三)


⭐️STM32控制GPIO完成点亮LED灯

我们这里使用的是STM32芯片,我们用STM32控制GPIO完成点亮LED灯。

🌟什么是GPIO?

那么,什么是GPIO呢?

GPIO是指通用输入输出,它是一种数字接口,可以让单片机和其他电子设备交换数据。具体来说,GPIO是一组用于控制电路的引脚,其可以通过软件进行配置,从而实现输入和输出功能。通过GPIO,可以实现与外部设备的通信,如LED灯,按钮,传感器等等。GPIO在嵌入式系统和单片机控制中应用广泛,是控制硬件的重要手段之一。

🌟GPIO基本结构

GPIO是General Purpose Input/Output的缩写,意为通用输入/输出,是一种用于嵌入式系统中的输入输出接口。GPIO通常由一组输入/输出引脚组成,可以用来读取传感器数据、控制电机等外部设备。GPIO的基本结构可以分为以下几个部分:

  1. 输入/输出引脚:GPIO通常包含多个输入/输出引脚,引脚数量和类型取决于具体的芯片型号和应用需求。
  2. 数据方向控制器:GPIO可以通过数据方向控制器来控制输入和输出方向。当GPIO被配置为输入时,数据方向控制器将向外部设备输出一定的信号来指示其为输入模式。当GPIO被配置为输出时,数据方向控制器将向外部设备输出一定的信号来指示其为输出模式。
  3. 状态寄存器:GPIO可以通过状态寄存器来记录GPIO的当前状态,例如输入或输出状态、电平状态等。
  4. 中断控制器:GPIO可以通过中断控制器来实现中断功能。当GPIO状态发生变化时,中断控制器会产生一个中断信号,从而使系统执行相应的中断处理程序。
  5. 编程接口:GPIO可以通过一种编程接口来进行配置和控制,通常使用各种编程语言来实现,例如C语言、Python等。

总的来说,GPIO是一种非常灵活的输入输出接口,可以广泛地应用于各种嵌入式系统中。下面是对于的结构图:

🌟GPIO 功能模式

STM32F103系列的I/O引脚共有8种工作模式,其中输出模式有四种:推挽输出、开漏输出、复用推挽输出、复用开漏输出;输入模式有四种:上拉输入、下拉输入、浮空输入、模拟输入。

  • 推挽输出模式的引脚输出高低电平时,直接输出高电平或低电平,适合连接到外部电路或器件的输入端。
  • 开漏输出模式的引脚输出高电平时,不输出电压,在输出低电平时,将端口与地相连,适合连接到晶体管、继电器等需要开关控制的器件。
  • 复用推挽输出模式和复用开漏输出模式都是在要使用定时器、USART等外设时选择的模式。复用推挽输出模式和推挽输出模式类似,输出高低电平时直接输出高电平或低电平;而复用开漏输出模式和开漏输出模式类似,输出高电平时不输出电压,在输出低电平时将端口与地相连。
  • 上拉输入模式和下拉输入模式都是用来连接开关等输入设备的,其中上拉输入模式在输入端口与VCC之间连接一个电阻,下拉输入模式在输入端口与地之间连接一个电阻。
  • 浮空输入模式和模拟输入模式都是用来连接传感器等模拟信号源的,浮空输入模式下引脚不与任何电路相连,使用前需要外部加电源或信号源,模拟输入模式下引脚内部连接一个数据采集电路,可以直接将外部模拟信号转换为数字信号。

⭐️硬件及原理图

我们可以对照开发板原理图,找到对应的引脚。

我们可以看到控制LED的接口是PB9,我们接下来开始写代码。

⭐️代码实现

🌟LED.C

#include "include.h"
 
void LED_Init(void)
{
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
  
  GPIO_InitTypeDef GPIO_InitStructure;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //推挽输出
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;     //LED0-->PC.2 端口配置
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOB, &GPIO_InitStructure);
}

🌟LED.H

#ifndef __LED_H
#define __LED_H
 
void LED_Init(void);
 
#endif

🌟MAIN.C

#include "include.h"
 
int main(void)
{
  LED_Init();//初始化  
  while (1)
  {
    GPIO_ResetBits(GPIOB, GPIO_Pin_9);//点亮
    Delay_ms(3000);
    GPIO_SetBits(GPIOB, GPIO_Pin_9);//熄灭
    Delay_ms(1000);
    }
}
 

⭐️总结

我们学习了STM32怎么通过控制GPIO完成点亮LED灯,我们文末代码实现的是闪烁,通过原理图,找到对应的GPIO口,来实现LED灯闪烁。

相关文章
|
2天前
|
人工智能 机器人
合肥中科深谷嵌入式项目实战——人工智能与机械臂(二)
合肥中科深谷嵌入式项目实战——人工智能与机械臂(二)
|
2天前
|
人工智能
合肥中科深谷嵌入式项目实战——人工智能与机械臂(五)
合肥中科深谷嵌入式项目实战——人工智能与机械臂(五)
|
2天前
|
传感器 数据采集 人工智能
合肥中科深谷嵌入式项目实战——人工智能与机械臂(四)
合肥中科深谷嵌入式项目实战——人工智能与机械臂(四)
|
2天前
|
人工智能 编解码
合肥中科深谷嵌入式项目实战——人工智能与机械臂(六)
合肥中科深谷嵌入式项目实战——人工智能与机械臂(六)
|
3天前
|
人工智能 搜索推荐 语音技术
AI赋能视频剪辑师:人工智能时代,视频剪辑师该如何剪辑?
在AI时代,视频剪辑师借助智能素材整理、自动化剪辑、语音识别及创意辅助技术,提升效率和创新空间。他们应拥抱AI,结合AI优化剪辑流程,如高效预筛选素材、减少手动操作,同时借助AI激发创意。保持主观能动性和创造力至关重要,通过学习,如获取Adobe国际认证,提升专业技能,适应行业发展,打造个人品牌,以在行业中保持竞争力。
|
3天前
|
机器学习/深度学习 人工智能 搜索推荐
人工智能技术--AI作画工具
AI作画工具是一种运用人工智能技术,特别是深度学习和生成对抗网络(GAN)等算法,自动生成或辅助创作视觉艺术作品的技术。通过机器学习,分析和模拟人类艺术家的创作风格和技巧,从而创作出具有艺术性的画作。
17 1
|
5天前
|
人工智能 算法 安全
人工智能伦理:我们准备好面对AI的未来了吗?
【6月更文挑战第24天】随着人工智能(AI)技术的飞速发展,其带来的伦理问题也愈发显著。本文探讨了AI技术在发展过程中可能遇到的伦理挑战,包括隐私泄露、自动化导致的失业、算法偏见以及超级智能的潜在威胁等。文章强调了建立全面的伦理框架和监管机制的必要性,并提出了促进人类与AI和谐共存的策略。
|
10天前
|
人工智能 前端开发 搜索推荐
人工智能(AI)在前端设计中的创新应用
人工智能(AI)在前端设计中的创新应用
30 4
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
生成式人工智能(AIGC,Generative AI)
生成式人工智能(AIGC,Generative AI)
40 3
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能AI风口已开:如何赋予UI设计与视频剪辑新生命
AI正深刻影响UI设计和视频剪辑行业。在UI设计中,AI提供智能辅助设计,跨模态生成和个性化定制,帮助设计师提高效率,创新设计。AI分析趋势和用户行为,生成设计方案,支持语音和文本输入,增强设计的多样性和个性化体验。在视频剪辑领域,AI实现智能素材管理,自动化剪辑处理和特效生成,提升剪辑质量和速度。通过Adobe国际认证,设计师和剪辑师可以系统学习并掌握这些AI技术,提升职业竞争力,共同开创行业新未来。