您的位置 首页 新能源

单片机C言语:指针使用

单片机C语言:指针应用-通过指针,非常方便操作数组。比如串口的接收缓存,将接收缓存的首地址赋给指针后,CPU就可以通过结构体的指针,读取串口的接收缓存。

基础知识

[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文件界说,而且需求进行初始化。变量初始化为一数值,指针初始化为数组名,函数指针初始化为函数名;

③、 静态函数 -》外设的函数,对外部是不行见的,能够声明为static类型,函数有必要经过结构体的函数指针进行拜访。

编程举例

1、TImer0.h文件

单片机C言语:指针使用

①、枚举类型界说 -》 界说定时值,能够根据需求增加;

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

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

单片机C言语:指针使用

①、界说了结构体变量TImer0,并进行了初始化;

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

3、使用举例

①、变量拜访

Timer0.usMCU_Run_Timer = TIMER0_1S;

②、函数拜访

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

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/xinnengyuan/91019.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部