crh寄存器_STM32的CRH、CRL、ODR和IDR寄存器的使用总结
一、下载:
STM32F103中文参考手册
二、CRH和CRL的介绍:
CRH和CRL的使用基本相同,CRH用于控制GPIOX(X表示A---G)的高8位(Pin15---Pin8),而CRL用于控制GPIOX(X表示A---G)的低8位(Pin7----Pin0)。
三.CRH、CRL和ODR的使用:
1、
RCC->APB2ENR|=1<<2; //使能PORTA时钟
GPIOA->CRH&=0XFFFFFFF0;//清除PA8该位原来的设置
GPIOA->CRH|=0X00000003;//PA8 推挽输出
GPIOA->ODR|=1<<8; //PA8 输出高
由以上代码看出,PA8设置成了推挽输出。大家都知道一个端口可以输出高电平,也可以输出低电平,而GPIOA->ODR|=1<<8;这个表达式就把PA8设置成了在空闲的时候输出高电平;GPIOA->ODR|=0<<8;这个表达式,把PA8设置成了在空闲的时候输出低电平。
如果想设置PA8为推挽输出,并且希望输出为低电平,可以不要这个表达式GPIOA->ODR|=0<<8; ,因为系统会默认端口输出为低电平 。
RCC->APB2ENR|=1<<2; //使能PORTA时钟
GPIOA->CRL&=0XFFFFF0FF;//清除PA2该位原来的设置
GPIOA->CRL|=0X00000300;//PA2 推挽输出
GPIOA->ODR|=1<<2; //PA2 输出高
以上可以看出如果控制低八位的IO,就控制CRL寄存器,若要控制高八位IO口就需要控制CRH寄存器。
2、 RCC->APB2ENR|=1<<2; //使能PORTA时钟
GPIOA->CRH&=0XFF0FFFFF;
GPIOA->CRH|=0X00800000; //PA13设置成上拉/下拉输入
GPIOA->ODR|=1<<13; //PA13上拉
由以上代码看出,PA13设置成了上拉输入,即输入高电平。大家都知道,一个端口设置成了输入模式,那么它可以输入高电平,也可以输入低电平。GPIOA->ODR|=1<<13;这个表达式把PA13设置成了上拉模式,即在空闲的时候输入高电平;GPIOA->ODR|=0<<13;这个表达式把PA13设置成了下拉模式,即在空闲的时候输入低电平。
如果想设置PA13为输入模式,并且希望输入低电平,可以不要这个表达式GPIOA->ODR|=0<<13;,因为系统会默认端口输入为低电平。
3、IDR的使用:
IDR是一个端口输入数据寄存器,只用了低16位。该寄存器为只读寄存器,并且只能以16位的形式读出。读出的值为对应IO口的状态。
备注:参考STM32中文参考手册P67--P69
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
crh寄存器_STM32的CRH、CRL、ODR和IDR寄存器的使用总结相关推荐
- crh寄存器_关于CRH、CRL、ODR和IDR寄存器的使用总结
关于 CRH . CRL . ODR 和 IDR 寄存器的使用总结 一. CRH 和 CRL 的使用: CRH 和 CRL 的使用基本相同, CRH 用于控制 GPIOX ( X 表示 A---G ) ...
- STM32的CRH、CRL、ODR和IDR寄存器的使用总结
STM32的CRH.CRL.ODR和IDR寄存器的使用总结 一.下载: STM32F103中文参考手册 百度网盘:链接:百度网盘 请输入提取码 密码:lwcg 二.CRH和CRL的介绍: CRH和CR ...
- 关于CRH、CRL、ODR和IDR寄存器的使用总结
关于CRH.CRL.ODR和IDR寄存器的使用总结 一.CRH和CRL的使用: CRH和CRL的使用基本相同,CRH用于控制GPIOX(X表示A---G)的高8位(Pin15---Pin8),而CRL ...
- STM32F10x系列GPIO寄存器BRR、BSRR、ODR、IDR的使用理解
引脚的高.低电平控制,有3种方法(3个寄存器) 分别是通过GPIO的 3个 管脚控制寄存器: ODR寄存器, 控制管脚的高.低电平,低16位有效,写1 高电平, 写0 低电平; BSRR寄存器, ...
- crh寄存器_STM32 学习笔记(寄存器)---2
故事很多,我打算用一辈子来跟你讲,你准备好了吗?(狗头 没必要一次看完,多看几遍消化消化. 所有操作,最终目的都是操作寄存器 stm32编程实质上是修改寄存器的32位的具体的值 单片机 sfr P0= ...
- STM32寄存器操作端口模式CRL/CRH详解
STM32寄存器操作端口模式CRL/CRH详解 首先,在开始讲解前,大家请先看如下一段代码: #define SDA_IN_24c02(){GPIOB->CRH&=0XFFF0FFFF; ...
- stm32延时us寄存器_STM32延时函数的四种方法
关注.星标公众号,不错过精彩内容 单片机编程过程中经常用到延时函数,最常用的莫过于微秒级延时delay_us()和毫秒级delay_ms().本文基于STM32F207介绍4种不同方式实现的延时函数. ...
- 关于STM32的BSRR(端口位设置/清除寄存器) 和 BRR(端口位清除寄存器) 的理解(初学32)
关于STM32的BSRR(端口位设置/清除寄存器) 和 BRR(端口位清除寄存器) 的理解(初学32) BSRR 共32位,其对应位数低电平不影响ODR(端口输出数据寄存器),若低16位(0-15位) ...
- idr寄存器、_STM32F103设置上拉输入后GPIOE-IDR寄存器疑惑 PA按键有效PE key2按键无效...
[mw_shl_code=c,true] [mw_shl_code=c,true]//战舰V2板 //GPIOE->ODR |= 0xf<<2;//上拉2345 //按我的理解设置上 ...
最新文章
- Thread.sleep(0):线程休眠0秒有什么意义!
- 手机调试打开控制台方法vconsole
- zabbix登山路——简单监控_各项参数解析
- 读书笔记之:C++ Primer (第4版)及习题(ch12-ch18) [++++]
- python飞机大战3关BOSS
- SAP Spartacus 升级时关于 schematics 的更新
- .net实现批量在线打印_如何实现报表的批量打印需求
- SAP License:MM-采购订单migo,101收货,有三种方式冲销,可以使库存减少,有何不同?
- html项目_Python Selenium项目实战之添加发送HTML测试报告邮件!
- 952开头的电话一天响两三次,不是诈骗就是推销,请问该怎么屏蔽呢?
- 数据预处理与特征工程—6.Kaggle房价预测中数据预处理与特征工程
- 详解串行通信协议及其FPGA实现
- Pr 入门教程,如何倾斜移位效果?
- 让Apache日志不记录图片等指定扩展名文件的设置方法
- python wifi密码本下载_WifiPass下载 WifiPass(Python获取本机保存的所有WIFI密码) 免费版 下载-脚本之家...
- java.util.concurrent.ThreadFactory 实例讲解
- 抑郁症自测量表测试软件,科学网-抑郁症自测量表(SDS)-李侠的博文
- 盘点20款让你脑洞大开的AR技术应用
- mysql double 使用_mysql double类型使用与主键自增
- 桌面上程序可以用计算机打不开,我电脑桌面图标程序都打不开怎么办