这个地方有一些和C语言是不一样的,就是关键字的定义不同,稍微注意一下就可以了。
关键字:#define 用途 :用一串字符代替数字,便于理解1以及修改。 定义:#define A 123 使用:int a = A ;等效于int a = 123; 这个和C语言是类似的,就不过多讲解了。
关键字: typedef 用途:对变量类型换名,便于使用 定义:typedef unsigned char uint8_t; 使用:uint8_t a ;相当于 unsigned char a;
关键字:struct 用途:数据打包,不同类型变量的集合 定义:struct{char x;int y;float z;} StructName; 使用:StructName.x = 'A' ; 或者,pStructName->x = 'A';(pStructName是头指针)
struct{
char x;
int y;
float z;} StructName;
StructName.x = 'A' ;
pStructName->x = 'A';
关键字:enum 用途:定义一个取值受限制的整形变量 定义:
typedef enum{
FALSE = 0,
TRUE = 1} EnumName;
(按顺序的话,可以省略后面的赋值) 使用:
typedef enum{
FALSE = 0,
TRUE = 1} EnumName;
EnumName a;
a = FALSE;
大概类似于如下的编译代码所示,一般在.h文件中使用比较多:
#ifndef __DELAY_H__
#define __DELAY_H__
void Delay(unsigned int xms);
#endif
#ifdef __DELAY_H__
xxx
#else
xxx
#endif
表示变量或函数可在其他文件中使用或查找。
sft P0 = 0x80;
P0 = 0x00;
GPIOA->ODR = 0x00000000;
// 通过指针来操作