登录/注册

stm32f103上拉输入

更多

在STM32F103微控制器中,配置GPIO引脚为上拉输入模式的目的是确保引脚在无外部信号时保持确定的高电平状态,避免因悬空导致的不稳定。以下是具体配置方法及注意事项:


配置步骤(使用标准外设库)

  1. 使能GPIO时钟
    操作GPIO前需先开启对应端口的时钟(如GPIOA、GPIOB等):

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  2. 定义GPIO初始化结构体
    设置引脚号、模式及速度(输入模式下速度可忽略,但需占位):

    GPIO_InitTypeDef GPIO_InitStruct;
    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0;  // 例如配置PA0引脚
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU; // 上拉输入模式
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz; // 输入模式下速度参数不影响功能
  3. 初始化GPIO
    调用库函数完成配置:

    GPIO_Init(GPIOA, &GPIO_InitStruct);

寄存器直接配置法(无需库)

  1. 使能GPIO时钟
    RCC_APB2ENR寄存器对应位写1:

    RCC->APB2ENR |= RCC_APB2ENR_IOPAEN; // 使能GPIOA时钟
  2. 配置GPIO模式
    对于引脚0(如PA0),操作GPIOA_CRL寄存器:

    • 设置CNF0[1:0] = 10(上拉/下拉输入模式)
    • 设置MODE0[1:0] = 00(输入模式)
      GPIOA->CRL &= ~(0x0F << 0);      // 清空PA0的配置位
      GPIOA->CRL |= (0x08 << 0);       // CNF0=10, MODE0=00
  3. 启用内部上拉电阻
    置位GPIOA_ODR对应引脚:

    GPIOA->ODR |= (1 << 0);          // PA0上拉使能

注意事项

  1. 避免电平冲突
    若外部电路已有上拉电阻,需禁用内部上拉(配置为浮空输入GPIO_Mode_IN_FLOATING),否则可能因并联电阻导致功耗增加或电平异常。

  2. 读取输入状态
    通过GPIO_ReadInputDataBit()函数读取引脚电平:

    uint8_t value = GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0);
  3. 应用场景
    典型场景包括按键检测(按键接地时按下为低电平,释放时上拉至高电平)或数字信号输入(如开关、传感器等)。


通过上述配置,STM32F103的GPIO引脚可在无外部信号时稳定保持高电平,确保系统可靠性。

STM32F103VET6

1970-01-01 08:00:00 至 1970-01-01 08:00:00

ARM系列STM32F103芯片的解密方法

本文介绍ARM系列STM32F103芯片的解密方法,其内核是Cortex-M3,内存从16K-512K都有。

2024-02-28 11:20:34

stm32f103 flash模拟eeprom

STM32F103是意法半导体(STMicroelectronics)推出的一款32位单片机系列,该系列芯片具有高性能和丰富的外设接口,广泛应用于工业控制、消费电子、汽车电子等领域。其中

2024-01-09 11:21:36

基于STM32F103的SVPWM算法实现

基于STM32F103的SVPWM算法实现

资料下载 jinyi7016 2022-03-22 12:12:17

STM32F103用户使用手册

STM32F103用户使用手册

资料下载 倚東聽海 2021-12-06 09:47:21

基于STM32f103输入捕获测频率和占空比

基于STM32f103的输入捕获测频率和占空比

资料下载 shyshyshy 2021-08-02 10:10:24

基于STM32f103的FFT频率测试程序下载

基于STM32f103的FFT频率测试程序下载

资料下载 shyshyshy 2021-08-02 10:07:20

基于STM32f103使用的DAC正弦波

基于STM32f103使用的DAC正弦波

资料下载 shyshyshy 2021-08-02 10:05:00

学习STM32F103的DAC功能

三勺最近在学习STM32F103的DAC功能,本文主要解释在配置DAC寄存器实现相应功能时遇到的一些问题。

2023-10-24 16:00:10

ARM系列STM32F103芯片的解密方法

破解STM32F103芯片的方法

2023-09-19 09:03:40

ch32v103stm32f103的区别

ch32v103与stm32f103的区别  Ch32v103与STM32f103

2023-08-22 15:49:00

STM32F103 GPIO内部电路图讲解

STM32F103 GPIO内部电路图讲解

2023-02-01 16:32:14

基于STM32F103单片机的矩阵按键设计

本实验使用STM32F103单片机,主题代码通用的。

2022-12-09 17:18:46

芯片短缺如何用HK32F103换掉STM32F103

本篇笔记主要记录因为芯片短缺,使用HK32F103换掉了STM32F103的过程和注意事项。 准备工作 准备之前的STM32F103工程。 测试

2021-11-01 14:14:48

stm32f030和stm32f103功能差异

stm32f030和stm32f103功能差异主要表现在哪?

2021-07-22 09:35:47

7天热门专题 换一换
相关标签