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

bbs网站模板广东今天新闻最新消息

bbs网站模板,广东今天新闻最新消息,公司转让一般在什么网,亦庄网站设计1. GPIO 的基本概念(1) 什么是 GPIO?GPIO 的中文意思是通用输入输出端口(General Purpose Input/Output),是嵌入式系统中可编程控制的通用引脚,可通过软件配置为输入或输出模式。(背诵)(2) 它的…

1. GPIO 的基本概念

(1) 什么是 GPIO?

GPIO 的中文意思是通用输入输出端口(General Purpose Input/Output),是嵌入式系统中可编程控制的通用引脚,可通过软件配置为输入或输出模式。(背诵)

(2) 它的主要功能是什么?(背诵)

输入功能:读取引脚电平状态获取按键和各类传感器的信息输入。

输出功能:输出高低电平,控制外围设备。

复用功能:部分GPIO可配置为特殊功能(如UART、SPI、I2C)

2. GPIO 的 8 种工作模式(背诵)

模式名称性质关键特征
浮空输入数字输入可读取引脚电平,若引脚悬空,则电平不确定(巧记:输入为读取)
上拉输入数字输入可读取引脚电平,内部连接上拉电阻,悬空时默认高电平
下拉输入数字输入可读取引脚电平,内部连接下拉电阻,悬空时默认低电平
模拟输入模拟输入 GPIO 无效,引脚直接接入内部 ADC
开漏输出数字输出可输出引脚电平,高电平为高阻态,低电平接 VSS(巧记:输出为输出)
推挽输出数字输出可输出引脚电平,高电平接 VDD,低电平接 VSS
复用开漏输出数字输出由片上外设控制,高电平为高阻态,低电平为 VSS
复用推挽输出数字输出由片上外设控制,高电平接 VDD,低电平接 VSS

(1) 上拉/下拉电阻:上拉/下拉电阻用于设置引脚的默认电压。上拉使能,引脚默认电压为高电平,下拉使能,引脚默认电压为低电平。

(2) VSS 通常指电路的负极,VDD 通常指电路的正电源。

3. 推挽输出和开漏输出的区别

(1) 

4. GPIO 初始化流程(以STM32为例,描述GPIO初始化的步骤)

(1) 使能GPIO时钟

作用:微控制器中外设(如GPIO)默认处于关闭状态以节省功耗。时钟信号是数字电路工作的基础,必须开启对应GPIO端口的时钟,才能配置和使用其引脚

操作实例:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);  # 使能GPIOA的时钟
  • RCC:Reset and Clock Control(复位与时钟控制器),负责管理系统时钟和外设时钟。
  • APB2:一种低速总线,连接GPIO、USART等外设。
  • PeriphClockcmd:外设时钟控制命令。

(2) 配置GPIO引脚参数(背诵)

① 关键参数:

  • Pin:选择具体的引脚(如GPIO_PIN_5)。
  • Mode:设置引脚模式(输入/输出/复用/模拟)。
  • Pull:配置上拉或下拉电阻(上拉、下拉、无上下拉)。
  • Speed:输出驱动速度(低速、中速、高速、超高速)。

(3) 调用 GPIO_Init() 生效

① 声明结构体变量:

GPIO_InitTypeDef GPIO_InitStruct;  # 创建结构体实例

② 填充配置参数:

# 示例:配置PA5为推挽输出,高速,无上下拉
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStruct.GPIO_Pull = GPIO_PuPd_NOPULL;

③ 调用初始化函数:

GPIO_Init(GPIOA, &GPIO_InitStruct);  # 应用配置到GPIOA端口

5. GPIO 必记函数

(1) 时钟控制函数:

void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);

示例:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); # 开启GPIOA的时钟

(2) GPIO 初始化函数:

void GPIO_DeInit(GPIO_TypeDef* GPIOx); # 被指定的GPIO外设会被复位
void GPIO_AFIODeInit(); # 复位AFIO复用功能配置
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* InitStruct); # 配置GPIO引脚的工作模式、速度、上下拉等参数
void GPIO_StructInit(GPIO_InitTypeDef* InitStruct); # 把结构体变量赋值一个默认值

示例:

GPIO_InitTypeDef gpio;
gpio.GPIO_Pin = GPIO_Pin_5;        # 选择PA5引脚
gpio.GPIO_Mode = GPIO_Mode_Out_PP; # 推挽输出模式
gpio.GPIO_Speed = GPIO_Speed_50MHz; # 高速驱动
GPIO_Init(GPIOA, &gpio);           # 应用配置到GPIOA
GPIO_DeInit(GPIOA);  # 复位GPIOA所有寄存器的值
gpio.GPIO_Pin = GPIO_Pin_5;        # 仍选择PA5
gpio.GPIO_Mode = GPIO_Mode_IN_FLOATING; # 浮空输入模式
GPIO_Init(GPIOA, &gpio);           # 重新初始化PA5

(3) 输出控制类函数:

① GPIO_SetBits()

  • 功能:将指定引脚设置为高电平(1)。
  • 示例:点亮LED。
GPIO_SetBits(GPIOA, GPIO_Pin_5);  # PA5输出高电平

② GPIO_ResetBits()

  • 功能:将指定引脚设置为低电平(0)。
  • 示例:熄灭LED。
GPIO_ResetBits(GPIOA, GPIO_Pin_5); # PA5输出低电平

③ GPIO_WriteBit()

  • 功能:动态设置单个引脚电平(可替代SetBits/ResetBits)。
  • 示例:根据条件设置电平。
GPIO_WriteBit(GPIOA, GPIO_Pin_5, (condition ? Bit_SET : Bit_RESET));

(4) 输入读取类函数:

① GPIO_ReadInputDataBit()

  • 功能:读取单个引脚的电平状态(输入模式时使用)。
  • 示例:检测按键按下。
if (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == 0) {# 引脚PA0为低电平(按键按下)
}

② GPIO_ReadOutputDataBit()

  • 功能:读取输出寄存器的状态(输出模式时使用)。
  • 示例:检测当前输出值。
BitStatus pinState = GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_5);

(5) 必须掌握的模式宏定义:

GPIO_Mode_AIN 是模拟输入。

GPIO_Mode_IN_FLOATING 是浮空输入。

GPIO_Mode_IPD 是下拉输入。

GPIO_Mode_IPU 是上拉输入。

GPIO_Mode_Out_OD 是开漏输出。

GPIO_Mode_Out_PP 是推挽输出。

GPIO_Mode_AF_OD 是复用开漏。

GPIO_Mode_AF_PP 是复用推挽。

http://www.dtcms.com/wzjs/523093.html

相关文章:

  • 咖啡网站设计建设seo基础入门免费教程
  • 苹果电脑用什么软件做网站凡科网怎么建网站
  • 辽宁省建设工程执业信息网360优化大师官方下载手机
  • 辽宁建设厅勘察设计网站投放广告
  • 怎样在网站做转向连接网络推广营销方案免费
  • 政府网站建设要求有哪些全网营销网络推广
  • 广州做韩国网站百度收录方法
  • 响应式网站建设市场2022拉人头最暴利的app
  • 让别人做网站注意事项百度快照推广
  • 哪些做调查问卷的网站关键词英文
  • 温州专业手机网站制作多少钱长沙关键词优化推荐
  • 网站域名注册地址引擎搜索器
  • 网站建设程序开发网站推广方式组合
  • wordpress恢复默认链接郑州客串seo
  • 怎么建设网站商城品牌全网推广
  • 小门户网站模板苹果看国外新闻的app
  • 葫芦岛公司做网站seo推广有哪些公司
  • 做美食网站需求分析报告广东最新新闻
  • 顺德网站制作案例价位百度地图收录提交入口
  • 济南网站建设的方案以网红引流促业态提升
  • 张家港市网站制作app推广是做什么的
  • 无锡手机网站建设报价企业营销推广方案
  • 南昌哪里做网站好百度网址安全中心
  • dede网站qq类资源源码小程序生成平台系统
  • 石家庄建站优化公司百度上做广告怎么收费
  • pis粉丝做的网站seo的基本内容
  • 网站在线提交询盘系统 能直接发到邮箱百度图片识别在线识图
  • 汽配外贸论坛seo刷词工具在线
  • 做烘培网站公众号推广费用一般多少
  • 020网站建设和维护费用seo运营培训