zl程序教程

您现在的位置是:首页 >  Java

当前栏目

(七)STM32基础——C语言知识复习

2023-02-18 15:50:02 时间

数据类型

        这个地方有一些和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;
// 通过指针来操作