__IO uint32_t LCKR; } GPIO_TypeDef;回到GPIO_TypeDef 这段代码,这个代码用 typedef 关键字声明了名为 GPIO_TypeDef 的结构体类型,结构体内又定义了 7 个 __IO uint32_t 类型的变量.这些变量每个都为 32 位,也就是每个变量占内存空间 4 个字节.在 c 语言中,结构体内变量的存储空间是连续的,也就是...
#defineGPIOB_ODR ((uint32_t *)(GPIOB_BASE + 0x0C)) #defineRCC_CR ((uint32_t *)(RCC_BASE + 0x00)) #defineRCC_CFGR ((uint32_t *)(RCC_BASE + 0x04)) #defineRCC_CIR ((uint32_t *)(RCC_BASE + 0x08)) #defineRCC_APB2RSTR ((uint32_t *)(RCC_BASE + 0x0C)) #de...
11 typedef const int16_t sc16; /*!< ReadOnly */ 12 13 typedef const int8_t sc8; /*!< ReadOnly */ 14 15 typedef__IOint32_t vs32; 16 17 typedef __IO int16_t vs16; 18 19 typedef __IO int8_t vs8; 20 21 typedef __I int32_t vsc32; /*!< ReadOnly */ 22 23 typ...
typedef signed int int32_t; typedef signed __int64 int64_t; typedef unsigned char uint8_t; typedef unsigned short int uint16_t; typedef unsigned int uint32_t; typedefunsigned__int64uint64_t; stm32f10x.h 这个文件主要是为了兼容旧版本 typedef uint32_t u32; ///32位 typedef uint16_t u1...
1typedef unsigned int uint32_t; /*无符号 32 位变量 占4个字节*/ 2typedef unsigned short int uint16_t; /*无符号 16 位变量 占2个字节*/ 3/* GPIO 寄存器列表 */ 4typedef struct 5{ 6 uint32_t MODER; /*GPIO 模式寄存器 地址偏移: 0x00 */ ...
1、uint16_t:typedef unsigned short int uint16_t,即无符号短整型short int,uint16_t 表示数据范围则是0 ~65535。 2、uint32_t:32位无符号整形,也就是说不会出现负数。uint32_t: u=unsigned(无符号); int=integer(整数); 32=32bits(32位); t=typedef。
从上往下,我们一一来讲解。首先是COUNTFLAG寄存器,主要的作用就是防止误读以及多读,在读完之后自动清零;之后是 CLKSOURCE寄存器,主要用来选择时钟源,使用SysTick_CLKSourceConfig();再后面就是TICKINT寄存器,主要功能就是选择是否再倒计时结束后产生中断;最后就是ENABLE寄存器,使能位,应该比较好理解。
//引脚定义#defineKEY1_INT_GPIO_PORTGPIOA#defineKEY1_INT_GPIO_CLK(RCC_APB2Periph_GPIOA\|RCC_APB2Periph_AFIO)#defineKEY1_INT_GPIO_PINGPIO_Pin_0 #defineKEY1_INT_EXTI_PORTSOURCEGPIO_PortSourceGPIOA #defineKEY1_INT_EXTI_PINSOURCEGPIO_PinSource0 ...
int num = 128; //换算为八位,1换算就是00000001, 这样只要所给数字的二进制最后一位是1.那么就是奇数,否则就是偶数 if ( (num & 1) == 0) { printf("num为偶数 "); } else { printf("num为奇数 "); } } 按位异或 void test03() ...
unsigned int *pGPIOB_IDR = (unsigned int *)0x40010C08; unsigned char PB3 = *pGPIOB_IDR & 0x8;//取出从右往左数的第4位 直接访问的操作并不好用,每操作一个寄存器就必须去查看数据手册,然后找找这个寄存器的地址。 意法半导体公司为了方便大家使用,就把这些寄存器都起了一目了然的名字,把寄存器与...