#define PERIPH_BASE ((u32)0x40000000)//端口地址
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/05 19:38:49
#define PERIPH_BASE ((u32)0x40000000)//端口地址
#define APB2PERIPH_BASE (PERIPH_BASE + 0x10000)//端口地址
#define GPIOA_BASE (APB2PERIPH_BASE + 0x0800)//端口地址
#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)//不明白,这个预定义
//把GPIOA_BASE看成指向GPIO_TypeDef结构体的指针吗,GPIOA代表一个指针变量吗
int main()
{
typedef unsigned long u32;
typedef volatile unsigned long vu32;// volatile是什么意思
typedef struct
{
vu32 CRL;
vu32 CRH;
vu32 IDR;
vu32 ODR;
vu32 BSRR;
vu32 BRR;
vu32 LCKR;
} GPIO_TypeDef;
GPIOA->ODR = 0x1111;// GPIOA能直接指向GPIO_TypeDef结构体的成员ODR吗
}
请讲的具体一些
#define APB2PERIPH_BASE (PERIPH_BASE + 0x10000)//端口地址
#define GPIOA_BASE (APB2PERIPH_BASE + 0x0800)//端口地址
#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)//不明白,这个预定义
//把GPIOA_BASE看成指向GPIO_TypeDef结构体的指针吗,GPIOA代表一个指针变量吗
int main()
{
typedef unsigned long u32;
typedef volatile unsigned long vu32;// volatile是什么意思
typedef struct
{
vu32 CRL;
vu32 CRH;
vu32 IDR;
vu32 ODR;
vu32 BSRR;
vu32 BRR;
vu32 LCKR;
} GPIO_TypeDef;
GPIOA->ODR = 0x1111;// GPIOA能直接指向GPIO_TypeDef结构体的成员ODR吗
}
请讲的具体一些
#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)
GPIOA的一个宏而已.
给后面的GPIOA->ODR = 0x1111;用的,其实就是一种指针的使用
/////////////////////////////////////////////////
这两句话.改成好理解的就是
GPIO_TypeDef * GPIOA;
GPIOA = (GPIO_TypeDef *) GPIOA_BASE; GPIOA_BASE表示指针指向的地方
类似 GPIOA = (GPIO_TypeDef *)1000;,
既然gpioa是指针当然可以 GPIOA->ODR了
//////////////////////////////////
typedef volatile unsigned long vu32;// volatile是什么意思
搞嵌入式的都知道 volatile 表示可变的.
也就是说这个变量可能在中断中访问,仿真编译器优化读写vu32这个变量
GPIOA的一个宏而已.
给后面的GPIOA->ODR = 0x1111;用的,其实就是一种指针的使用
/////////////////////////////////////////////////
这两句话.改成好理解的就是
GPIO_TypeDef * GPIOA;
GPIOA = (GPIO_TypeDef *) GPIOA_BASE; GPIOA_BASE表示指针指向的地方
类似 GPIOA = (GPIO_TypeDef *)1000;,
既然gpioa是指针当然可以 GPIOA->ODR了
//////////////////////////////////
typedef volatile unsigned long vu32;// volatile是什么意思
搞嵌入式的都知道 volatile 表示可变的.
也就是说这个变量可能在中断中访问,仿真编译器优化读写vu32这个变量
#define PERIPH_BASE ((u32)0x40000000)//端口地址
STM32 有如下程序片段:#define ADC1_DR_Address ((u32)0x4001244C)#defi
#include #include #define TRUE 1 #define FALSE 0 #define OK
#define COMPKEY_TERMINATE ((UINT_PTR) 0)
#define TURE 1 #define FALSE 0 #define OK 1 #define ERROR 0
#define LED1 1 //P01 #define EN_LED1() {GP0CON &=~(uint32)(0
下面的 #define KEY_ESC 0x01 #define KEY_SPACE 0x39 #define KEY_
括号匹配检验程序#include#include#define TRUE 1#define FALSE 0#define
#define OK 1 #define ERROR 0 #define OVERFLOW -2这些定义有什么作用
端口是什么意思
#define NT_SUCCESS(Status) ((NTSTATUS)(status)>=0)
#define DATA7 ((DATA_BUF & BYTE_BIT7) = 0)