STM32的CRH、CRL、ODR和IDR寄存器的使用总结
STM32的CRH、CRL、ODR和IDR寄存器的使用总结
一、下载:
STM32F103中文参考手册
百度网盘:链接:百度网盘 请输入提取码 密码:lwcg
二、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 &= ~(1<<8);这个表达式,把PA8设置成了在空闲的时候输出低电平。
如果想设置PA8为推挽输出,并且希望输出为低电平,可以不要这个表达式GPIOA->ODR &= ~(1<<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 &= ~(1<<13);这个表达式把PA13设置成了下拉模式,即在空闲的时候输入低电平。
如果想设置PA13为输入模式,并且希望输入低电平,可以不要这个表达式GPIOA->ODR &= ~(1<<13);,因为系统会默认端口输入为低电平。
3、IDR的使用:
IDR是一个端口输入数据寄存器,只用了低16位。该寄存器为只读寄存器,并且只能以16位的形式读出。读出的值为对应IO口的状态。
备注:参考STM32中文参考手册P67--P69
STM32的CRH、CRL、ODR和IDR寄存器的使用总结相关推荐
- crh寄存器_关于CRH、CRL、ODR和IDR寄存器的使用总结
关于 CRH . CRL . ODR 和 IDR 寄存器的使用总结 一. CRH 和 CRL 的使用: CRH 和 CRL 的使用基本相同, CRH 用于控制 GPIOX ( X 表示 A---G ) ...
- 关于CRH、CRL、ODR和IDR寄存器的使用总结
关于CRH.CRL.ODR和IDR寄存器的使用总结 一.CRH和CRL的使用: CRH和CRL的使用基本相同,CRH用于控制GPIOX(X表示A---G)的高8位(Pin15---Pin8),而CRL ...
- crh寄存器_STM32的CRH、CRL、ODR和IDR寄存器的使用总结
一.下载: STM32F103中文参考手册 二.CRH和CRL的介绍: CRH和CRL的使用基本相同,CRH用于控制GPIOX(X表示A---G)的高8位(Pin15---Pin8),而CRL用于控制 ...
- 5.STM32外设都有哪几类寄存器?(详解)
STM32外设都有以下几类寄存器:
- idr寄存器、_STM32F103设置上拉输入后GPIOE-IDR寄存器疑惑 PA按键有效PE key2按键无效...
[mw_shl_code=c,true] [mw_shl_code=c,true]//战舰V2板 //GPIOE->ODR |= 0xf<<2;//上拉2345 //按我的理解设置上 ...
- 【正点原子STM32连载】第六章 新建寄存器版本MDK工程 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
1)实验平台:正点原子MiniPro H750开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=677017430560 3)全套实验源码+手册+视频 ...
- STM32单片机的CRL和CRH寄存器
这里写目录标题 问题: 基础知识: 解释: 扩展 PA1为输入(上/下拉) PA2为输入(上/下拉) PA1为输出(通用推挽输出50MHZ) PA2为输出(通用推挽输出50MHZ) 问题: 当32单片 ...
- CRH、CRL、ODR和IDR的使用
STM32的每个I/O口都由7个寄存器控制:2个32位端口配置寄存器CRL和CRH;2个32位的数据寄存器IDR和ODR:1个32位的置位复位寄存器BSRR:1个16位的复位寄存器BRR:1个32位的 ...
- idr寄存器、_STM32 GPIO寄存器 IDR ODR BSRR BRR
IDR是查看引脚电平状态用的寄存器,ODR是引脚电平输出的寄存器 下面内容的原文:http://m646208823.blog.163.com/blog/static/1669029532012931 ...
最新文章
- R语言ggplot2可视化绘制线图(line plot)、使用gghighlight包突出高亮线图的满足条件的线图、设置高亮线图不显示默认自动显示的文本标签(use_direct_label)
- STL 容器迭代器失效总结
- Ubuntu下的NBD和iscsi挂载
- vue选中点击的元素_vue中v-for循环选中点击的元素并对该元素添加样式操作
- android 相册 标签,在Android标签上,如何在图片下方显示文字?
- python中添加路径_python中添加模块导入路径的方法
- 暴风集团:9月21日起公司股票交易进入退市整理期
- CPU高获取其线程ID然后分析
- 虚拟机中CentOS系统安装流程
- sqoop从musql导入到hive中数据缺失
- python之集合操作 - |
- Item 27: 明白什么时候选择重载,什么时候选择universal引用
- Unity移动的三种方式
- mac上好用的压缩_Mac图片压缩工具(早晚用到,建议收藏)
- 计算机软件考试——嵌入式系统设计师 知识点汇总
- Thinkphp5.1整合支付宝APP支付
- 结婚证照片尺寸是多少?教你拍出好看的证件照照片
- 【七夕活动精选】致你的七夕礼物——3D Heart,跳动的 3D 爱心
- 人类像计算机一样思考 议论文,人工智能时代——人应像人一样思考作文800字...
- Efficient multi-keyword ranked query over encrypted data in cloud computing (6)