STM32处理器寄存器配置。
问题一:端口低配置寄存器CRL的复位值是0X44444444,请问怎样去理解呢,我是这样理解的,(44444444)=(0100010001000100010001000...
问题一:端口低配置寄存器CRL的复位值是0X4444 4444,请问怎样去理解呢,我是这样理解的,(4444 4444)=(0100 0100 0100 0100 0100 0100 0100 0100)可是看书中标示的也没能看出来啊?
问题二:CNF7[1:0] MODE7[1:0],这是什么意思啊?他们各占几个位?(书上说的是CNF两个位,MODE两个位,可是我还是理解不了)。
问题三:设置PORTC的1位为上拉输入,12位为推挽输出,代码如下:
GPIOC->CRH&=0XFFF00FFF;
GPIOC->CRH|=0X00038000;
GPIOC->ODR=1<<11;
请问“->”是什么意思?好像不是运算符吧,第三条语句“1<<11”是什么意思,11怎么来的?
问题四:位31:30,这标示的是什么意思啊?
我觉的要是在这之前学习一下AVR可能会好理解。
我买了一本《例说STM32》感觉不错,不过我的板子跟书不配套,我觉得没必要再买一块儿了。
我之前学习都是调用库函数来写程序的,看了看这本书才知道怎样操作寄存器。求帮助。
谢谢你们,回答的都不错! 展开
问题二:CNF7[1:0] MODE7[1:0],这是什么意思啊?他们各占几个位?(书上说的是CNF两个位,MODE两个位,可是我还是理解不了)。
问题三:设置PORTC的1位为上拉输入,12位为推挽输出,代码如下:
GPIOC->CRH&=0XFFF00FFF;
GPIOC->CRH|=0X00038000;
GPIOC->ODR=1<<11;
请问“->”是什么意思?好像不是运算符吧,第三条语句“1<<11”是什么意思,11怎么来的?
问题四:位31:30,这标示的是什么意思啊?
我觉的要是在这之前学习一下AVR可能会好理解。
我买了一本《例说STM32》感觉不错,不过我的板子跟书不配套,我觉得没必要再买一块儿了。
我之前学习都是调用库函数来写程序的,看了看这本书才知道怎样操作寄存器。求帮助。
谢谢你们,回答的都不错! 展开
展开全部
一、端口配置寄存器是用于配置GPIO工作模式的,具体各位的意义要看手册:
二、CN7[1:0] 是指CN7配置占两位,分别对应自己所在位的高位(1)、低位(0),手册中如此标识也是为了便于说明。如果占用3位,可标识为xxx[2:0],以下说明时可表示bit2,bit1,bit0;其他同理。
三、->是结构体指针引用结构成员符号,GPIOC本质上是结构体指针,结构体:
typedef struct
{
vu32 CRL;
vu32 CRH;
vu32 IDR;
vu32 ODR;
vu32 BSRR;
vu32 BRR;
vu32 LCKR;
} GPIO_TypeDef;
1<<11,是移位操作,即1向左移11位,这个11是根据所要设置寄存器的位置来确定的,具体的可以查看手册。明白这个意思,可以举一反三。
四、位31:30 就是指在整个32位寄存器中,所占位置为 31位和30位。注意,一般位标识是从0开始的,所以32位寄存器表示位31到位0.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询