#define SDA_IN() {GPIOA->CRL&=0X0FFFFFFF;GPIOA->CRL|=(u32)8<<28;}

#define SDA_OUT() {GPIOA->CRL&=0X0FFFFFFF;GPIOA->CRL|=(u32)3<<28;}

上面的意思, 其实就是切换PA_7的模式, 控制模式的寄存器叫CRL跟CRH, 如下图:

CRL(引脚0-7):

CRH(引脚8-16):

研究了一下,

GPIOA->CRL&=0X0FFFFFFF;

GPIOA->CRL|=(u32)8<<28;

的意思 先都置0, 得0000, 然后1000B, 左移28位, 得1000, 分别是将CRL的31到28bit位置1000, 查下面的表:

1000意思就是Input模式, Input pull-down/pull-up

GPIOA->CRL&=0X0FFFFFFF;

GPIOA->CRL|=(u32)3<<28;

3换成2进制是0011, 结合上面的就是00就是outpu的push-pull, 11表示速度是50MHz

那么, 如果要修改PA_11的配置, 就修改CRH, 移动3*4次就好,

#define SDA_IN() {GPIOA->CRH&=0XFFFF0FFF;GPIOA->CRH|=(u32)8<<12;}

#define SDA_OUT() {GPIOA->CRH&=0XFFFF0FFF;GPIOA->CRH|=(u32)3<<12;}

实在不行可以直接按照程序将寄存器各位列出来,与寄存器端口配置说明对照。

crh寄存器_STM32的寄存器控制SDA_IN()/SDA_OUT()相关推荐

  1. crh寄存器_STM32的CRH、CRL、ODR和IDR寄存器的使用总结

    一.下载: STM32F103中文参考手册 二.CRH和CRL的介绍: CRH和CRL的使用基本相同,CRH用于控制GPIOX(X表示A---G)的高8位(Pin15---Pin8),而CRL用于控制 ...

  2. crh寄存器_STM32 学习笔记(寄存器)---2

    故事很多,我打算用一辈子来跟你讲,你准备好了吗?(狗头 没必要一次看完,多看几遍消化消化. 所有操作,最终目的都是操作寄存器 stm32编程实质上是修改寄存器的32位的具体的值 单片机 sfr P0= ...

  3. STM32F4X寄存器的代码详解—SDA_IN,

    资料:STM32F4XX中文参考手册-(7通用IO口/7.4GPIO寄存器) 问题描述: 我们在STM32F407关于IIC通讯实验例程中发现了一串看不懂的代码,代码所在文价夹是myiic.h ,代码 ...

  4. stm32延时us寄存器_STM32延时函数的四种方法

    关注.星标公众号,不错过精彩内容 单片机编程过程中经常用到延时函数,最常用的莫过于微秒级延时delay_us()和毫秒级delay_ms().本文基于STM32F207介绍4种不同方式实现的延时函数. ...

  5. 寄存器指令MIPS 寄存器介绍

    之前朋友几篇文章介绍了改寄存器指令的文章. 关联文章的地址 MIPS有32个通用寄存器($0-$31),各寄存器的功能及汇编程序中应用约定如下: 下表描述32个通用寄存器的别名和用处 REGISTER ...

  6. esp寄存器与ebp寄存器介绍

    esp寄存器与ebp寄存器介绍 2013年09月21日 03:04:15 伤心小鸵鸟 阅读数:974 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/ ...

  7. 汇编指令:MRS(读)和MSR(写)指令操作CPSR寄存器和SPSR寄存器使用

    1.MSR和MRS指令介绍 MRS 指令: 对状态寄存器CPSR和SPSR进行读操作.通过读CPSR可以获得当前处理器的工作状态.读SPSR寄存器可以获得进入异常前的处理器状态(因为只有异常模式下有S ...

  8. 操作系统之寄存器——这篇寄存器讲的有点意思!

    下面我们就来介绍一下关于寄存器的相关内容.我们知道,寄存器是 CPU 内部的构造,它主要用于信息的存储.除此之外,CPU 内部还有运算器,负责处理数据:控制器控制其他组件:外部总线连接 CPU 和各种 ...

  9. 累加器是寄存器吗?寄存器、累加器、暂存器有什么区别?

    什么是寄存器 寄存器,是集成电路中非常重要的一种存储单元,通常由触发器组成.在集成电路设计中,寄存器可分为电路内部使用的寄存器和充当内外部接口的寄存器这两类. 内部寄存器不能被外部电路或软件访问,只是 ...

最新文章

  1. 【转】分享:c#和javascript函数的相互调用(ObjectForScripting 的类必须对 COM 可见。请确认该对象是公共的,或考虑向您的类添加 ComVisible 属性。)...
  2. MaxCompute,基于Serverless的高可用大数据服务
  3. DotnetSpider (一) 架构的理解、应用、搭建
  4. 计算机专业书籍速读方法,格式你玩的转?速读5分钟就懂
  5. 回车(CR)与换行(LF), '\r'和'\n'的区别
  6. 编译时如何看到每个文件的编译选项_导出 Clang 可视化编译耗时分析报告 —— ftimetrace 的使用...
  7. 浅入浅出 Android 安全 翻译完成!
  8. maven中使用MySQL
  9. Linux转发性能评估与优化 转发瓶颈分析与解决方案
  10. Bandicam v5.2.1.1860 班迪录屏绿色便携版
  11. Excel没有密码怎么打开
  12. Sublime中文显示乱码
  13. 解决 虚拟机安装 centos8 时出现设置基础软件仓库时出错
  14. Juicer: 辅助基因组组装
  15. u盘安装系统win2019服务器系统,U盘启动装WIN10系统教程,U盘安装WIN2019方法,UltraISO将Windows server 2016/2019安装盘ISO写入U盘进行安装...
  16. VR中的9轴传感器(重力加速度/陀螺仪/磁力计).md
  17. 从零开始学SEO的基础概念
  18. 初学者学习插画原画以后就业方向有哪些?和大家聊聊插画原画师就业、薪资等
  19. Adversarial Image Registration with Application for MR and TRUS Image Fusion
  20. 数据分析总结四:可视化与数据分析

热门文章

  1. 【软考软件评测师】2013综合知识历年真题
  2. uni-app是什么有啥子用?
  3. Trick and Magic(OO博客第二弹)
  4. 爬取bilibili视频
  5. 【云计算】实验3:Keystone 组件
  6. 【cocos2d-x入门实战】微信飞机大战之十三:游戏场景过渡
  7. 简单弄懂配置github CND加速
  8. 洛谷P2071 座位安排
  9. 云+未来峰会安全专场总结:智慧安全护航企业数字化转型
  10. 关于win10应用商店打不开,win10应用商店明明连接网络确提示无网络连接,代码: 0x80131500