STM32F103:一.(3)IO方向

贴图:

1.例

//IO方向设置
#define DHT11_IO_IN() {GPIOA->CRL&=0XFFFFF0FF;GPIOA->CRL|=8<<8;} //PA2
#define DHT11_IO_OUT() {GPIOA->CRL&=0XFFFFF0FF;GPIOA->CRL|=3<<8;} //PA2
IO操作函数
#define DHT11_DQ_OUT PAout(2) //数据端口 PA2
#define DHT11_DQ_IN PAin(2) //数据端口 PA2

2.分析

GPIOA->CRL&=0XFFFFF0FF;GPIOA->CRL|=8<<8
先抛开设置完是什么意思,说一下这样设置,是做了什么
GPIOE->CRL&=0XFFFFF0FF;将GPIOA->CRL寄存器的低四位置为0,其他位上的数值不变
GPIOC->CRL|=8<<8;将1000右移8位

3.解释

每个IO口都有两个寄存器CRH和CRL来设置IO方向,其中CRH用来设置高8-15引脚,CRL用来设置0-7引脚
每个引脚的设置需要四位,拿最0引脚的设置来说明。
1:0位用来配置端口模式:
00:输入模式(复位后的状态)
01:输出模式,最大速度10MHz
10:输出模式,最大速度20MHz
11:输出模式,最大速度50MHz
3:2为用来进一步设置端口
输入模式:
00:模拟输入
01:浮空输入(复位后的状态)
10:上拉/下拉输入模式
11:保留
输出模式:
00:通用推挽输出
01:通用开漏输出
10:复用功能推挽输出
11:复用功能开漏输出

STM32F103:一.(3)IO方向相关推荐

  1. Stm32F102通过寄存器的方式更改IO 方向(输入输出)

    STM32F103系列,每个端口的IO最多为16,因此设置分为高8位IO与低8位IO,高8位IO与低8位IO 各有32位寄存器. 高8位IO需要操作(GPIOx_CRH)寄存器,低8位IO则操作(GP ...

  2. STM32F103的PC13、PB3和PB4定义为普通IO口使用

    PC13初始化: PC13的.c文件初始化: void GPIO_Init(void) {GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClock ...

  3. STM32F103:三.(3)MPU6050

    STM32F103:三.(3)MPU6050 先只上传代码 接线 VCC GND PB9 PB8 main.c #include "io.h" #include "del ...

  4. STM32F103单片机驱动TM1637数码管显示模块

    最近项目中需要用到数码管显示,于是买了一个TM1637芯片驱动的四位数码显示模块,现将调试过程记录一下,方便以后参考. 使用的单片机是STM32F103C8T6最小系统 使用的数码管模块是TM1637 ...

  5. STM32F103+DHT11模块+DS18B20模块 显示实时温湿度并高温高湿报警

    目录 前言 代码下载: 功能介绍: 接线 DS18B20 DHT11 效果图 普通环境 普通版main.c 升级版 哈热气 普通版 升级版 搓手捂热 核心代码 普通版main.c 升级版main.c ...

  6. TMS320F28335——IO控制/定时计操作

    一.实现GPIO控制 1.硬件连接 从电路原理图上看来,LED灯是接在GPIO34 上的. 2.IO设置 2.1设置功能 GPXMUX1/2:功能选择寄存器 GPXMUX1/2    每组 IO 一般 ...

  7. 【51单片机快速入门指南】4.5:I2C 与 TCA6416实现双向 IO 扩展

    目录 硬知识 IO 扩展芯片 TCA6416A TAC6416A 的寄存器 IO 输入寄存器 IO 输出寄存器 IO 反相寄存器 IO 方向寄存器 TCA6416A 的操作 TCA6416A 写数据 ...

  8. 【STM32】IIC的基本原理(实例:普通IO口模拟IIC时序读取24C02)(转载)

    版权声明:本文为博主原创文章,允许转载,但希望标注转载来源. https://blog.csdn.net/qq_38410730/article/details/80312357 IIC的基本介绍 I ...

  9. 模拟IIC——关于模拟IIC的IO口的配置选取推挽输出还是开漏输出,以及是否需要更改IO口输入输出模式和是否需要对IO配置上拉

    在使用模拟IIC的时候,观看别人的程序的时候发现了程序之间的一些不一样的地方 ----------------------------------代码1------------------------ ...

最新文章

  1. C++#define的用法(含特殊)
  2. mysql查询不确定的信息_mysql 07.18
  3. 解决:安装Widget插件提醒已安装却不见界面
  4. 速修复!CISA警告称 Zoho 服务器0day已遭在野利用
  5. html页面如何复用,html代码用js实现复用
  6. sqlite3的命令简单说明
  7. DevExpress Office文件API打印 PDF 文档
  8. HDU1728 逃离迷宫 【BFS】
  9. windowsxp下载python下载视频_Python实现视频下载功能
  10. 微软出了一个Python小白神器!
  11. 解析中小学生的 AI 思维学习模型
  12. java文件实现文件的上传和下载
  13. 打字训练 my father1
  14. 微信公众号接口类(PHP版本)
  15. Microbalze Vitis bug:cannot suspend TCF error report Stalled on memory access
  16. 【数据结构】节点和结点,到底怎么区分?
  17. 苹果安全赏金计划玩不起?研究人员怒发其未修复漏洞的源代码
  18. HTC 和 SAMSUNG
  19. chrome新版不支持旺旺 支付宝 插件的解决方法
  20. c语言单片机计算器编程,单片机做的计算器(C语言代码)

热门文章

  1. r语言集合补集_R语言学习笔记(14)-常用包
  2. java中使用pgsql的json类型CRUD
  3. linux命令中选项分为,Linux 考试试题
  4. 推荐系统学习(三)SVD奇异值分解做推荐与python代码
  5. Maven解决Failed to instantiate SLF4J LoggerFactory报错
  6. 解决Centos 7安装在虚拟机中没有图形界面的问题
  7. python统计缺失值
  8. 更新jupyter lab
  9. Easyconnect mac版本下载地址
  10. python四中方法获取列表中最大/最小的前n个数值的位置索引