55问答网
所有问题
GPIO->ODR与GPIO_Pin同作为实现输出时的区别是什么?
你好!我刚开始学习使stm32,看到有些程序中使用GPIO->ODR实现输出,而有的则用GPIO_Pin来实现输出,我想问一下这两种用法的区别。
举报该问题
推荐答案 推荐于2017-09-24
GPIO->ODR是32位的输出数据寄存器(高16位保留,低16为依次对应某个GPIO口的16个引脚)。对ODR赋值是一次操作16位的,也就是同时设置了16个引脚的输出电平;而GPIO_PIN是指某个端口的具体某一个引脚,是位操作,可以通过设置BSRR或BRR寄存器来设置某一特定引脚的输出电平,而保持其他引脚输出不变,速度快,效率高。具体可以看看stm32参考手册关于GPIO寄存器的说明。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://55.wendadaohang.com/zd/eGRQQRI4e.html
相似回答
ODR和
BSRR寄存器控制的
输出
有
什么区别?
答:
本质上并无区别
。ODR可读可写。使用时是针对端口的整体操作,在操作单个GPIO口时则比较麻烦、需要读-修改-写过程。而BSRR只能写不能读。它更适合进行原子级的置位/清零操作、且不影响其它输出口的状态。
STM32
GPIO
->
ODR与
IDR是干
什么
用
的?
答:
IDR是查看引脚电平状态用的寄存器,ODR是引脚电平输出的寄存器
。1>>4:1右移4位为0,所以,你这句 GPIOA->ODR|=1>>4 是没用的。1<<4:1左移4位为0x10,所以GPIOA->ODR|=1<<4 拉高的是PA4。你说能点亮,是因为它们默认就是高的。扩展:1、STM32是基于ARM® Cortex® M 处理...
STM32怎么读取--
输出
口--电平?
答:
GPIO_ReadOutputDataBit (GPIOC,GPIO_Pin_13); //读取输入口PC13值 我看的原函数,
两个读取函数操作区别在于读取的寄存器不一样
,分别是:GPIOx->IDR GPIOx->ODR
STM32 8.2.4 端口
输出
数据寄存器(
GPIO
x_
ODR
) 到底是输出此数据还是此寄...
答:
这是个映射用的寄存器,映射管脚上的电平状态。比如
GPIO
A_
ODR
= 0x03; 就是2进制的11.代表CPU把PA0,PA1置为高电平,PA2 ~PA15都置为低电平。
stm32读
GPIO
x_
ODR
问题求解
答:
GPIOx_
ODR是
端口的
输出
寄存器,我们配置引脚的输入输出模式是通过GPIOx_CRL
和GPIO
x_CRH两个寄存器来配置的,但是每个端口的16个引脚它们有的可能是输出模式,有的是输入模式,甚至一会输出一会输入,而GPIOx_IDR和GPIOx_ODR两个寄存器是以word模式访问而不能以bit模式访问,GPIOx_IDR只能读,...
大家正在搜
pin是
wifi pin
pin是啥意思
gt320i
amggt
/Pindd
gt50
gt63
gt740
相关问题
GPIO_PORT[Led]->ODR ^= GPIO_PI...
STM32语句:GPIO->ODR^=0X02 是怎么执行的...
STM32 GPIO->ODR 与IDR是干什么用的?
STM32 8.2.4 端口输出数据寄存器(GPIOx_OD...
stm32中GPIOx_BSRR和 GPIO_xBRR寄存允...
在C语言中GPIOB->ODR |= LED是什么意思
STM32中GPIO寄存器IDR和ODR数据是不是同步的?为...
stm32上拉输入和下拉输入怎么用?