STM32-GPIO输入

2023-11-03

  点亮LED灯的实验室利用的GPIO的输出配置来实现的,接下来写一个关于GPIO作为输入的程序,同时点亮和熄灭LED灯。由于程序简单,直接贴出代码,以供参考:

#include "stm32f10x.h"
/**
  * @brief  初始化GPIO,默认速度为GPIO_Speed_50MHz;
  *         
  * @param  GPIO分组
  * @param  GPIO引脚
    * @param  GPIO引脚模式
  * @retval None
  */
void GPIO_init(GPIO_TypeDef * GPIOx,u16 GPIO_Pin,GPIOMode_TypeDef Mode)
{
    GPIO_InitTypeDef GPIO_InitStruct;                                       
    GPIO_InitStruct.GPIO_Mode=Mode;                         
    GPIO_InitStruct.GPIO_Pin=GPIO_Pin;
    GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;

    GPIO_Init(GPIOx,&GPIO_InitStruct);
}

int main()
{   
                u8 value;
                RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
                RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
        GPIO_init(GPIOA,GPIO_Pin_0,GPIO_Mode_Out_PP);
                GPIO_init(GPIOB,GPIO_Pin_8,GPIO_Mode_IPU);

        while(1)
                {
                value=GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8);
                if(value)
                        GPIO_SetBits(GPIOA,GPIO_Pin_0);
                else 
                GPIO_ResetBits(GPIOA,GPIO_Pin_0);

                }
}

和GPIO的输出不同的地方就是将PIN_Mode模式根据自己的硬件电路更改成相应的输入模式,上拉或者下拉。然后使用一个 GPIO_ReadInputDataBit()来获取指定IO组的指定管脚的电平。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32-GPIO输入 的相关文章

  • 如何更改闪存的起始地址?

    我正在使用 STM32F746ZG 和 FreeRTOS Flash的起始地址是0x08000000 但我想把它改成0x08040000 我通过谷歌搜索了这个问题 但没有找到解决方案 我更改了链接器脚本 如下所示 MEMORY RAM xr
  • 133-基于stm32单片机停车场车位管理系统Proteus仿真+源程序

    资料编号 133 一 功能介绍 1 采用stm32单片机 4位数码管 独立按键 制作一个基于stm32单片机停车场车位管理系统Proteus仿真 2 通过按键进行模拟车辆进出 并且通过程序计算出当前的剩余车位数量 3 将剩余的车位数量显示到
  • 135-基于stm32单片机超声波非接触式感应水龙头控制系统Proteus仿真+源程序

    资料编号 135 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DHT11传感器 电机 超声波传感器 制作一个基于stm32单片机超声波非接触式感应水龙头控制系统Proteus仿真 2 通过DHT11传感器检测当前
  • 毕业设计 江科大STM32的智能温室控制蓝牙声光报警APP系统设计

    基于STM32的智能温室控制蓝牙声光报警APP系统设计 1 项目简介 1 1 系统构成 1 2 系统功能 2 部分电路设计 2 1 stm32f103c8t6单片机最小系统电路设计 2 2 LCD1602液晶显示电路设计 2 2 风
  • 硬件基础-电容

    电容 本质 电容两端电压不能激变 所以可以起到稳定电压作用 充放电 电容量的大小 想使电容容量大 使用介电常数高的介质 增大极板间的面积 减小极板间的距离 品牌 国外 村田 muRata 松下 PANASONIC 三星 SAMSUNG 太诱
  • 解决KEIL编译慢问题

    两种方案 使用v6版本的ARM Compiler 如果v6版本编译不过 必须使用v5版本的 则可以勾选掉Browse Information选项 提升很明显 1分多钟能优化到几秒 看代码量 但是这个有个弊端 在KEIL中会影响函数跳转 建议
  • VS Code 有没有办法导入 Makefile 项目?

    正如标题所说 我可以从现有的 Makefile 自动填充 c cpp properties json 吗 Edit 对于其他尝试导入 makefile 的人 我找到了一组脚本 它们完全可以实现我想要实现的目标 即通过 VS Code 管理
  • 串口通讯第一次发送数据多了一字节

    先初始化IO再初始化串口 导致第一次发送时 多出一个字节数据 优化方案 先初始化串口再初始化IO 即可正常通讯
  • 1.69寸SPI接口240*280TFT液晶显示模块使用中碰到的问题

    1 69寸SPI接口240 280TFT液晶显示模块使用中碰到的问题说明并记录一下 在网上买了1 69寸液晶显示模块 使用spi接口 分辨率240 280 给的参考程序是GPIO模拟的SPI接口 打算先移植到FreeRtos测试 再慢慢使用
  • STM32的HAL中实现单按、长按和双按功能

    我正在尝试实现单击 双击和长按功能来执行不同的功能 到目前为止 我已经理解了单击和长按的逻辑 但我不知道如何检测双击 至于代码 我使用计数器实现了单击和长按 但代码仅停留在第一个 if 条件上 bool single press false
  • STM32F207 I2C 测试失败

    我正在使用 STM32F207 微控制器在 STM3220G EVAL 板上学习嵌入式开发 我尝试通过连接同一芯片上的两个 I2C2 和 I2C3 模块并发送 接收字符来测试 I2C 接口 这是我当前编写的代码 使用 mdk arm 5 i
  • 毕设开题分享 单片机智能教室系统(智能照明+人数统计)

    1 简介 Hi 大家好 今天向大家介绍一个学长做的单片机项目 单片机智能教室系统 智能照明 人数统计 大家可用于 课程设计 或 毕业设计 项目分享 https gitee com feifei1122 simulation project
  • Freertos低功耗管理

    空闲任务中的低功耗Tickless处理 在整个系统运行得过程中 其中大部分时间都是在执行空闲任务的 空闲任务之所以执行 因为在系统中的其他任务处于阻塞或者被挂起时才会执行 因此可以将空闲任务的执行时间转换成低功耗模式 在其他任务解除阻塞而准
  • STM32F4XX的12位ADC采集数值超过4096&右对齐模式设置失败

    文章目录 一 前言 二 问题1 数值超过4096 三 问题1的排错过程 四 问题2 右对齐模式设置失败 五 问题2的解决方法 5 1 将ADC ExternalTrigConv设置为0 5 2 使用ADC StructInit 函数 一 前
  • 特殊寄存器

    特殊寄存器 文章目录 前言 一 背景 二 2 1 2 2 总结 前言 前期疑问 STM32特殊寄存器到底是什么 特殊寄存器怎么查看和调试代码 本文目标 记录和理解特殊寄存器 一 背景 最近在看ucosIII文章是 里面提到特殊寄存器 这就进
  • STM32 Nucleo 上的上升沿中断多次触发

    我正在使用 STM32 NUCLEO F401RE 微控制器板 我有一个扬声器 经过编程 当向上 向下推操纵杆时 可以按设定的量改变频率 我的问题是 有时 通常 当向上 向下推动操纵杆时 频率会增加 减少多次 这意味着 ISR 正在执行多次
  • 通过JTAG恢复STM32 MCU磨掉的标记

    我有一块可能带有 STM32 MCU 的板 我想为该板制作定制固件 因为库存板有很多问题 不幸的是 电路板制造商很友善地磨掉了所有标记 有没有办法通过 jtag 获取设备 系列 ID 并将其交叉引用到型号 我能找到的一切都是关于获取芯片的唯
  • PWM DMA 到整个 GPIO

    我有一个 STM32F4 我想对一个已与掩码进行 或 运算的 GPIO 端口进行 PWM 处理 所以 也许我们想要 PWM0b00100010一段时间为 200khz 但随后 10khz 后 我们现在想要 PWM0b00010001 然后
  • 使用 STM32F0 ADC 单独读取不同的输入

    STM32F072CBU 微控制器 我有多个 ADC 输入 并且希望单独读取它们 STMcubeMX 生成样板代码 假设我希望按顺序读取所有输入 但我无法弄清楚如何纠正这个问题 这篇博文 http blog koepi info 2015
  • 移动数组中的元素

    我需要一点帮助 我想将数组中的元素向上移动一个元素 以便新位置 1 包含位置 1 中的旧值 new 2 包含 old 1 依此类推 旧的最后一个值被丢弃 第一个位置的新值是我每秒给出的新值 我使用大小为 10 的数组 uint32 t TE

随机推荐

  • Android 微信H5支付,无法拉起微信支付页面

    最近我其中一个项目需要接入微信支付 实现方式是在WebView里利用Url拉起微信支付页面 但是实际操作的时候却发现始终无法拉起支付页面 最后排查了一段时间 发现原来是因为一个很简单的问题出错了 于是解决问题以后特意想把这个问题记录下来分享
  • CSS实现文字描边效果

    一 介绍 最近在一个项目的宣传页中 设计师使用了文字描边效果 之前我确实没有实现过文字的描边效果 然后我在查阅资料后 知道了实现方法 文字描边分为两种 内外双描边和单外描边 也就是指在给文字加上描边效果后 描边的方向是向内外同时占用文字空间
  • Bresenham 画圆算法原理

    文章目录 前言 Bresenham 画圆算法原理 两个近似 构造判别式 圆与网格点的关系 关系由来 关系含义 p i p i pi 递推 画圆 程序伪码 圆与网格点的关系图示 前言 首先简要介绍一下生成圆的方法 直接利用圆的方程生成圆 利用
  • CNN-LSTM回归预测模型

    使用CNN LSTM搭建一个简单的回归预测模型 对油耗数据进行预测分析 首先导入必要的包 主要用到numpy pandas matplotlib和tensorflow下面的一些网络模型 import numpy as np import p
  • Ps2018CC打开ico插件

    把ICOFormat64 8bi放到C Program Files Adobe Adobe Photoshop CC 2018 Plug ins下面即可 根据自己的安装位置调整 附上64位插件地址哈 https download csdn
  • ds18b20 控制的实现

    参考源码如下 include
  • 免费使用 GPT-4 和 GPT-3.5 新方法:无限使用,随时切换,牛逼!

    点击上方 芋道源码 选择 设为星标 管她前浪 还是后浪 能浪的浪 才是好浪 每天 10 33 更新文章 每天掉亿点点头发 源码精品专栏 原创 Java 2021 超神之路 很肝 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网
  • 数据链路层 PPP协议

    传输数据前 需建立ppp会话 1 链路建立阶段 LCP建立 LCP一个协议 链路控制协议 2 认证阶段 可选项 PAP协议 CHAP协议 3 网络层协商协议 NCP协商 NCP协议是一堆协议总称 网络控制协议 如果三层使用IP协议 使用IP
  • 查看oracle数据库的用户名和密码 /用户解锁/创建新用户/解决ORA01034和27101

    运行 cmd 按如下输入命令 sqlplus as sysdba 以sys登陆 超级用户 sysdba alter user 用户名 account unlock 解除锁定 必须带 号 alter user 用户名 identified 密
  • anaconda基本命令

    Anaconda基本命令 文章结构 环境相关 更新 查看所有环境 创建新环境 切换环境 查看当前环境下的功能包 删除环境 下载管理 下载换源 相关包下载 jupyter notebook相关 下载 切换文件位置 切换环境 所有命令都是在an
  • 禁用 Windows 10/11 更新(可自由设置时间长短)

    禁用和恢复 Windows 更新 一 禁用 Windows 10 11 的原因 二 禁用 Windows 10 11 更新 三 恢复 Windows 10 11 更新 一 禁用 Windows 10 11 的原因 作为一个现代化的系统 Wi
  • MySQL查询多个版本数据只取最新版本

    前言 最近接到新的客户需求 在查询指标时要求相同的指标只显示一条数据 要显示的那条数据的要求如下 1 如果同一个指标的不同版本中有一条是处于上线状态 则显示该条数据 不管版本号是多少 2 如果该条指标没有处于上线状态的版本 则展示最高版本的
  • 【华为OD机试真题】新员工座位安排系统(统计友好度最大值)(python)100%通过率 超详细代码注释 代码优化

    华为OD机试真题 2022 2023 真题目录 点这里 华为OD机试真题 信号发射和接收 试读 点这里 华为OD机试真题 租车骑绿道 试读 点这里 新员工座位安排系统 知识点数组统计哈希表差分滑窗 时间限制 1s空间限制 256MB限定语言
  • 训练模型准确率上不去,可以提升准确率的一种情况(常常忽略)。

    最近在弄毕业设计 不论怎么调lstm的模型结构 精确度都太低 最后调整了一下一直忽略的学习率 发现上升了好几个百分点 这算是一个令人忽略的点吧
  • UE4-上传图片到服务器

    上传图片 1 Httplib 库优缺点 2 上传图片 3 删除本地图片缓存 IPlatformFile 由于 VaRest 插件无法满足我们上传表单的需求 在这里需要使用其他库方法 1 Httplib 库优缺点 优点 httplib 库是一
  • C++ NUM4

    c 数字 c 内置丰富的数学函数 引用数学头文件
  • Tkinter(二) | 点击按钮显示图片

    解决办法 出现的问题 from tkinter import from PIL import Image ImageTk root Tk root title 按钮点击加载图片 def show img Image open 1 png 打
  • Java中接口中的方法定义规范

    1 接口中是可以定义静态方法的 静态方法必须要有实现 且这个静态方法只能用public修饰 例如 public static void test 或 static void test public省略不写默认也是用public来修饰 静态方
  • 服务计算——Docker 简单使用

    Docker 简单使用 Docker是一个应用容器引擎 使用者可以将其应用以及所有需要的依赖打包到一个包中 然后发布到机器上进行运作 接下里我们就一步步了解一些Docker的使用 Docker安装 sudo apt get install
  • STM32-GPIO输入

    点亮LED灯的实验室利用的GPIO的输出配置来实现的 接下来写一个关于GPIO作为输入的程序 同时点亮和熄灭LED灯 由于程序简单 直接贴出代码 以供参考 include stm32f10x h brief 初始化GPIO 默认速度为GPI