STM32中对GPIO的配置与使用

2023-10-27

               笔记写入一份到博客里,没事还可以查看一下,自己的也大致总结了一下自己对这个知识的理解

其实学习单片机最先熟悉的无非就是I/O口的操作。STM32的GPIO也好理解,就8种模式。了解什么功能使用什么模式,怎么配置就可以了。废话不多说,了解一下GPIO口吧。学习时大家应该都有资料,我就不多贴资料了,下图是GPIO(STM32F10x)的电路图。(51的I/O口不需要配置,电平输送不但简单,而且不能像GPIO集成各种协议一起使用,如SPI,SPI协议后面也会介绍)

我大致将配置模式介绍一下,并将使用该模式的功能也对应一下

输入模式:(相对MCU)

1. 浮空--外部输入何种电平,该引脚就是何种电平。       结构体模式配置:GPIO_Mode_IN_FLOATING    

2.上拉--顾名思义,接VDD的开关开启,接上上拉电阻。   结构体模式配置:GPIO_Mode_IPU    (在我的开发板上,key1,key2,key3外接GND, 所以这里使用上拉,红外接收也使用到)

3.下拉--接VSS的开关开启,接上下拉电阻。    结构体模式配置:GPIO_Mode_IPD                          (而key_up外接3.3V,所以这里用下拉)

4.模拟输入--IO端口的数据直接进入ADC模块。  结构体模式配置:GPIO_Mode_AIN                    (DAC,ADC数据采集就要用到)

输出模式:(相对MCU)

1.开漏输出:MCU可以向IO端口写“0”。写“1”时由外部电路决定,例如上拉则为1,下拉则为0.  输入寄存器可以读取IO端口的电平值。  结构体模式配置:GPIO_Mode_Out_OD

2.开漏复用:与开漏输出差不多,由MCU控制转由外设模块控制而已。 结构体模式配置:GPIO_Mode_AF_OD

3.推挽式输出:MCU向I/O端口可写“0”写“1”。类似51的IO操作。使用较多 。  结构体模式配置:GPIO_Mode_Out_PP  (对于直接连接的就用这个了,数码管,蜂鸣器等)

4.推挽式复用功能:  向I/O端口写“0”写“1”的 功能交给外设模块而已。使用也多。 结构体配置:GPIo_Mode_AF_PP  (PWM,UASRT,TFT,SPI,DMA..使用外设都要使用)

void LED_Init()    
{
GPIO_InitTypeDef GPIO_InitStructure;         /*
配置GPIO的结构体*/

SystemInit();    
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);  

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  
GPIO_InitStructure.GPIO_Pin =
GPIO_Pin_ALL;                
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  
GPIO_Init(GPIOC,&GPIO_InitStructure);  
            //这是点亮外接IO的LED的一个配置,故使用推挽输出    
}

其他内容会贴在博客上,回顾一下

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

STM32中对GPIO的配置与使用 的相关文章

  • Js 逆向:微博登录

    1 先分析参数 su sp是必要的 其中su是加密后的账号 很简单就是个bs64 不再说了 2 直接搜参数 这个时候要搜代表性的 特殊的 例如pwencode 很好只有一个 两种加密 一个是RSA 一个是sha 这里判断用的是RSA 3 直

随机推荐

  • VUE的认识及基础语法

    VUE的认识及基础语法 我们先来了解一下什么是VUE 什么是渐进式 库 插件和框架的区别 vue从而出现了一种开发模式那就是mv 插值表达式的使用 指令 关于属性 循环 v model 自定义指令 过滤器 修饰符 v on 指令常用修饰符
  • 光线追踪(ray tracing)介绍与细节推导

    背景 最近因为找到关于光线追踪相关不错的教程 所以边学习边做记录并希望将相关资料进行分享 光线追踪作为计算机图形学中一种可以获得良好的效果的渲染算法 有着非常广泛的应用 历史背景相关的介绍可参考百度百科或者维基百科 本文中的参考资料来自于P
  • 【爬虫】JS逆向解决反爬问题系列5—sign破解

    欢迎来到我的博客 作者 秋无之地 简介 CSDN爬虫 后端 大数据领域创作者 目前从事python爬虫 后端和大数据等相关工作 主要擅长领域有 爬虫 后端 大数据开发 数据分析等 欢迎小伙伴们点赞 收藏 留言 本次博客内容将讲解关于sign
  • COM基础

    曾经看过潘老师的 lt
  • GPT2-Chinese:中文的GPT2训练代码

    推荐一个中文的GPT2项目 Chinese version of GPT2 training code using BERT tokenizer 作者提供了一份中文的GPT2训练代码 使用BERT的Tokenizer 可以写诗 新闻 小说
  • 液位系统c语言程序,超声波自动测量物体液位系统的设计

    超声波自动测量物体液位系统的设计 任务书 毕业论文15000字 摘要 本系统以STC89C52单片机为核心 通过硬件电路连接和软件程序的编写实现通用型超声波自动测量物体液位系统的设计 其主要原理是由单片机控制超声波发射电路发射超声波 超声波
  • win10手动添加程序到右键菜单/右键以pycharm project方式打开文件夹

    这次主要原因是在安装pycharm时 没选择将pycharm加入右键菜单 以至于无法选定文件夹作为pycharm项目打开 每次都需要打开pycharm 加载一个自己不需要的项目 再从pycharm里打开自己想要的 就去查了一下在win10里
  • 支付宝&微信个人收款支付系统解决方案

    原文链接 对于个人收款支付系统 由于没有营业执照 微信 支付宝官方提供的接口无法使用 个人二维码收款又无法完成支付系统后续工作 这个问题一直以来都没有找到一个适合的解决方案 经过不断尝试 最终找到了一个非常好用的第三方工具来解决这个问题 G
  • 决策树和朴素贝叶斯

    决策树 热力第二 物理 熵 混沌 系统越大 越乱 越看不懂 混乱度越大 熵越大 gt 熵增 容器 容器有个隔板 一边是氧气 一边是氮气 gt 熵 信息论 计算机是二进制 信息熵 中华民族9万个汉字 有多少本书 都是用9万个汉字排列 7000
  • Vue+iview表单验证失效

    iview表单验证的步骤 第一步 给 Form 设置属性 rules rules 第二步 同时给需要验证的每个 FormItem 设置属性 prop 指向对应字段即可 prop 第三步 注意 Form标签里面是 model 第四步 注意 在
  • 项目管理-进度网络图

    项目管理 网络图 一 网络图 1 1 分类 1 1 1 单代号网络图 节点型 1 2 2 双代号网络图 箭线型 1 2 逻辑关系 1 3 提前量和滞后量 1 4 关键路径法 Critical Path Method 1 5 基本概念 二 七
  • c语言c++新手题目a+b a*b

    两个变量之间的基本运算是学习c语言必不可少的入门题目 a b的求和意思是定义两个任意变量并输出他们的和 a b同理 开始写代码之前需要先了解c语言中各种符号的意思 所有的 C 语言程序都需要包含 main 函数 代码从 main 函数开始执
  • web端测试常见BUG总结

    原文 https www jianshu com p 4c7daac31c0f 一 缺少非空判断 服务器报500错误 编辑包含多个字段的页面时 有一些字段在程序中控制是必填的 事先未知 但是提交时没有任何说明提示 当不填写这些字段 直接保存
  • Java程序中Doc(文档)注释详解

    许多人写代码时总不喜欢写注释 每个程序员如此 嘿嘿 我也一样 不过 话说回来 该写还是要写哦 没人会喜欢一个不写注释的程序员 当然 也没有一个喜欢写注释的程序员 今天 我们就来说说Java注释之一 Doc注释 我们知道 Java支持 3 种
  • angular的ng-model指令

    div 名字 div
  • json单引号和双引号转义 完美解决由特殊字符引起的json解析错误(转载)

    原文链接 最近遇到json串里的内容包含单引号导致不能正常解析 使用html转义字符代替单引号 双引号等 即可解决 str str replaceAll 39 IE暂不支持单引号的实体名称 而支持单引号的实体编号 故单引号转义成实体编号 其
  • 3.go-mod依赖管理

    系列文章目录 提示 文章写的差不多的时候补上 略 文章目录 系列文章目录 前言 一 go mod 文件介绍 二 go mod 常用命令 1 常用命令总结 2 go mod 中最常用命令 3 常用命令 总结 前言 go 语言项目中对于第三方库
  • hadoop环境配置

    hadoop解压后需要配置多个文件 1 hadoop env sh 2 core site xml 3 hdfs site xml 4 mapred site xml 5 yarn site xml 具体配置语句网上很多直接找了复制进去并修
  • 智猪博弈与个人心态

    博弈论经济学中 智猪博弈 是一个著名的纳什均衡的例子 假设大猪和小猪共同住一个猪圈 猪圈一侧有 一个踏板 另一侧有一个食槽 每踩一次踏板 自动投食机就会向食槽投放一点饲料 这样一只猪去踩踏板 另一只猪就会去投食机口抢食物 结果就会出现这样一
  • STM32中对GPIO的配置与使用

    笔记写入一份到博客里 没事还可以查看一下 自己的也大致总结了一下自己对这个知识的理解 其实学习单片机最先熟悉的无非就是I O口的操作 STM32的GPIO也好理解 就8种模式 了解什么功能使用什么模式 怎么配置就可以了 废话不多说 了解一下