#define HDC_SDA_IN() {GPIOC->MODER&=~(3<<(92));GPIOC->MODER|=0<<92;} //PC9输入模式

#define HDC_SDA_OUT() {GPIOC->MODER&=~(3<<(92));GPIOC->MODER|=1<<92;} //PC9输出模式

通过参考手册,查看GPIO寄存器,如下图所示:

解释输入输出模式操作:

HDC_SDA_IN() :

      GPIOC->MODER&=~(3<<(9*2));   //3的二进制表示为11,将11左移2*9=18位(由2y:2y+1确定端口9的配置位,即第19、18位),取反后与上GPIOC->MODER;此操作是使得GPIOC->MODER的19、18位寄存器清零。GPIOC->MODER|=0<<9*2;         //0左移9*2=18位,即配置位18/19置为0;此次操作实现配置端口9为输入模式

HDC_SDA_OUT() :

      GPIOC->MODER&=~(3<<(9*2));   //3的二进制表示为11,将11左移2*9=18位(由2y:2y+1确定端口9的配置位,即第19、18位),取反后与上GPIOC->MODER;此操作是使得GPIOC->MODER的19、18位寄存器清零。GPIOC->MODER|=1<<9*2;         //01左移9*2=18位,即配置位19、18置为01;此次操作实现配置端口9为输出模式

GPIO 端口模式寄存器 (GPIOx_MODER)之寄存器使用解析相关推荐

  1. GPIO 端口模式寄存器 (GPIOx_MODER) (x = A..I)

    #define HDC_SDA_IN() {GPIOC->MODER&=~(3<<(92));GPIOC->MODER|=0<<92;} //PC9输入模式 ...

  2. GPIO 端口模式寄存器 (GPIOx_MODER)

    #define SDIO_IN()  {GPIOA->MODER&=~(3<<(7*2));GPIOA->MODER|=0<<7*2;}    //PB7输 ...

  3. GPIO端口、基本定时器、串口

    一.GPIO端口 1.开启所需IO口时钟 2.配置GPIO工作模式 GPIO端口模式寄存器 (GPIOx_MODER): 00:输入 01:通用输出模式 10:复用功能模式 11:模拟模式 GPIO端 ...

  4. 【嵌入式07】寄存器映射原理详解,GPIO端口的初始化设置步骤

    本文主要介绍STM32F103系列芯片的地址映射和寄存器映射原理,GPIO端口的初始化设置步骤. 一.STM32F103系列芯片的地址映射和寄存器映射原理 1.什么是寄存器? 2.地址映射和寄存器映射 ...

  5. STM32寄存器操作端口模式CRL/CRH详解

    STM32寄存器操作端口模式CRL/CRH详解 首先,在开始讲解前,大家请先看如下一段代码: #define SDA_IN_24c02(){GPIOB->CRH&=0XFFF0FFFF; ...

  6. 了解GPIO端口的初始化设置三步骤LED流水灯C语言 寄存器方式编程实现

    文章目录 前言 一.地址映射.寄存器映射原理 二.GPIO端口的初始化设置 1.时钟配置 2.输入输出模式 3.最大速率设置 三.TM32F103C8T6用C语言 .寄存器方式实现LED灯的闪烁 原理 ...

  7. GPIO端口初始化设置,STM32F103点亮LED流水灯过程

    文章目录 一.STM32F103系列芯片地址映射和寄存器映射原理 1.什么是寄存器 2.地址映射和寄存器映射 3.寄存器地址查找 二.GPIO端口初始化设置 1.GPIO简介 2.配置时钟 3.输入输 ...

  8. STM32F103C8T6————GPIO工作模式及其部分函数

    CPU的引脚以GPIO的方式工作时,有多种模式可以配置.(系统复位后,每根GPIO引脚自动设置为浮空输入模式) (1) 浮空输入:IO口的电平状态未定,即当有外部接入时,IO的电平状态完全由外部输入决 ...

  9. gpio stm8 管脚 配置工具_stm8的GPIO引脚模式

    GPIO_Mode_In_FL_No_IT 浮空输入无中断 GPIO_Mode_In_PU_No_IT 上拉输入无中断 GPIO_Mode_In_FL_IT 浮空输入有中断 GPIO_Mode_In_ ...

最新文章

  1. 最小树形图及其生产方法
  2. 题目1051:数字阶梯求和
  3. Eclipse导入项目常见问题----乱码问题03
  4. 《数据库系统实训》实验报告——数据库维护
  5. redis源码笔记-adlist
  6. java 工作6年 面试_为什么不想搞Java了,6年经验去面试5分钟结束,现在Java面试为何这么难...
  7. Python3 爬虫学习笔记 C07 【解析库 lxml】
  8. Android编程之DialogFragment源码详解(一)
  9. glPushMatrix()和glPopMatrix()以及glLoadIdentity()的理解
  10. Ubuntu 15.04 Gogs(git 版本库) 二进制安装
  11. windows 管理员权限编辑文件
  12. linux下proc文件夹详解
  13. GC算法精解(五分钟让你彻底明白标记/清除算法)
  14. 做成事情的3个要素:意愿、能力、资源
  15. 联想台式计算机亮度怎么调,台式联想电脑亮度在哪里调(手把手教你调电脑亮度)...
  16. 2022年最新前端零基础学习路径
  17. 数据库系统学习笔记(3)
  18. 关于c语言学习的建议
  19. 根号分治练手题 西比拉先知系统 题解
  20. mysql多字段in用法

热门文章

  1. u盘ghost系统特别慢
  2. openssh升级到openssh8.4
  3. Global AI Bootcamp
  4. Shift + Delete删除的文件如何恢复?
  5. Zookeeper详解---从入门到精通
  6. java i/o操作
  7. 上下文菜单ContextMenu
  8. “今天吃什么”项目计划
  9. 树莓派——3、树莓派外设开发编程
  10. 2012真是世界末日吗?感性趣的来看看!!