数据类型
这个地方有一些和C语言是不一样的,就是关键字的定义不同,稍微注意一下就可以了。
宏定义
关键字:#define
用途 :用一串字符代替数字,便于理解1以及修改。
定义:#define A 123
使用:int a = A ;等效于int a = 123;
这个和C语言是类似的,就不过多讲解了。
typedef
关键字: 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
extern变量
表示变量或函数可在其他文件中使用或查找。
映射
51
sft P0 = 0x80;
P0 = 0x00;
stm32
GPIOA->ODR = 0x00000000;
// 通过指针来操作