单片机C语言:指针应用

 基础知识

[size=14.0000pt]1、结构体

由一系列具有相同类型或不同类型的数据构成的数据集合,叫做结构体。

进行     单片机   编程时,为了方便程序阅读、移植、维护,将外设看作一个对象,而对象包含数据、数据集与行为,对应程序中的变量、数组与函数。通过结构体,可以将变量、数组与函数进行封装,定义为新的数据类型。编程时,     CPU   可以通过新的数据类型,访问外设的变量、数组与函数,非常方便。

结构体定义新的数据类型:

typedef struct

{

变量;

指针;

函数指针;

} 新数据类型_t

之后,我们就可以用新的数据类型定义结构体变量。

 2、变量

整型8位,16位,32位变量,浮点型变量等。

注意:结构体中不能定义位变量。

 3、指针

定义如下:

变量类型 *指针名;

通过指针,非常方便操作数组。比如串口的接收缓存,将接收缓存的首地址赋给指针后,CPU就可以通过结构体的指针,读取串口的接收缓存。

 4、函数指针

定义如下:

返回值类型 ( * 指针变量名) ([形参列表]);

通过函数指针,可以访问外设的函数。 通过将外设函数的函数名(首地址)赋给函数指针,CPU就可以通过结构体的函数指针,调用外设的函数。

[size=15.0000pt]二、文件结构

通常包含两个文件,分别的外设.c文件与外设.h文件。 .h文件主要内容为枚举类型定义、结构体类型定义、结构体变量声明为外部变量;.c文件主要内容为数组定义、结构体变量定义与初始化、静态函数等。

1、外设.h文件

①、枚举类型 -》 用于声明一组常数,可以用#define代替;

②、结构体类型定义 -》 定义结构体类型,系统并不会分配内存;

③、结构体变量声明 -》 声明为外部变量后,CPU或其它外设才可以通过结构体访问外设。

2、、外设.c文件

①、数组定义 -》 定义数据集合,将数组名(地址)赋给结构体的指针;

②、结构体变量定义 -》 .h文件只是定义了结构体类型,并没有定义结构体变量。 结构体变量在.c文件定义,并且需要进行初始化。变量初始化为一数值,指针初始化为数组名,函数指针初始化为函数名;

③、 静态函数 -》外设的函数,对外部是不可见的,可以声明为sta     ti   c类型,函数必须通过结构体的函数指针进行访问。

 编程举例

1、  TI mer0.h文件

 单片机C语言:指针应用_设计制作_存储技术

①、枚举类型定义 -》 定义定时值,可以根据需要添加;

②、结构体类型定义 -》 定义了系统运行     定时器   变量与定时器0初始化函数指针;

[size=14.0000pt]2、  TI mer0.c文件

 单片机C语言:指针应用_设计制作_存储技术

①、定义了结构体变量  TI mer0,并进行了初始化;

②、  TI mer0_Init()为结构体函数指针指向的函数。

3、应用举例

①、变量访问

Timer0.us     MCU   _Run_Timer = TIMER0_1S;

②、函数访问

Timer0.Timer0_Init(); //定时器初始化

63
175
0
82

相关资讯

  1. 1、1分钱不给吴卓林!吴孟达谈自己家庭,“隔山打牛”击中成龙!948
  2. 2、曾受刘德华力捧,后落魄时被接济,今二婚待遇羡煞女人4840
  3. 3、王一博、张哲瀚新片路透,《维和防暴队》是什么神仙阵容?4042
  4. 4、《善良的男人》预告片曝光主演展三角爱情关系2196
  5. 5、肖战将助力爱奇艺招商会,《王牌部队》广告费值得期待4282
  6. 6、柯震东被爆开跑车载美女新欢徐若瑄救援亲解密2921
  7. 7、《罗布泊之九龙天棺》定档2月9日诡秘船棺惊现嗜血飞蝗1172
  8. 8、周星驰回应自己“人缘差”:我是来拍电影的,不是来交朋友的375
  9. 9、《摩登年代》病毒特辑极品老爸徐峥变“坑”爹2518
  10. 10、以爱治愈离别!《生生》发布“好好说再见”预告418
全部评论(0)
我也有话说
0
收藏
点赞
顶部