#include<stdio.h>
#include<stdlib.h>
typedef unsigned int uint32_t;
typedef unsigned short int uint16_t;
typedef struct
{
uint32_t CRL; uint32_t CRH; uint32_t IDR; uint32_t ODR;
uint32_t BSRR; uint32_t BRR; uint16_t LCKR;
}GPIO_TypeDef;
#define GPIOB_BASE ( (GPIO_TypeDef*)0x40010800 ) //定义GPIOB_BASE的内存地址为 0x 4001 0800
void main(void)
{
GPIO_TypeDef *GPIOx;
GPIOx=GPIOB_BASE;
}
在这里为什么LCKR设置了16位、2个字节?是因为LCKR只有16位有效?但是我查了一下LCKR,不是总共有17位吗?0—16,不是17个么? |