这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 单片机C语言--基于结构体的面向对象编程技巧

共2条 1/1 1 跳转至

单片机C语言--基于结构体的面向对象编程技巧

菜鸟
2020-02-04 14:05:12     打赏

感谢阅读本文,在接下来很长的一段时间里,我将陆续分享项目实战经验。从电源、单片机、晶体管、驱动电路、显示电路、有线通讯、无线通信、传感器、原理图设计、PCB设计、软件设计、上位机等,给新手综合学习的平台,给老司机交流的平台。所有文章来源于项目实战,属于原创。

 

阅读说明:

1、Keil4 C51工程****:

https://yunpan.360.cn/surl_yrNkQSrCKyc

2、需要一定的C语言基础,才看得懂此文。

 

一、面向对象

   面向对象是软件开发方法,是相对于面向过程来讲的。通过把数据与方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式

   单片机C语言的面向对象编程,是利用结构体,将变量、指针、函数等进行封装,达到编程更加方便、程序可读性更好、方便移植等目的。

 

二、知识说明

1、结构体

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

常用的定义方法:

typedef struct

{

  变量;

  指针;

  函数指针;

} 结构体名称_t;

 

2、指针

  指针是地址,指向内存中的变量。

  常用的定义方法:数据类型 * 指针名;

 

3、函数指针

  函数指针是指向函数的指针变量

  常用的定义方法:返回值类型 ( * 指针变量) ([形参列表]);

  

三、编程说明

1、主函数如下:

主函数.PNG 

  系统初始化后,进入主循环,通过结构体调用system文件的函数。

 

2、结构体类型定义

 结构体类型定义1.PNG

定义1个变量与2个函数指针。

 结构体类型定义2.PNG

 

串口类型定义方法,通过结构体,将串口进行封装。

 

3、结构体变量定义

结构体变量定义.PNG 

   定义结构体变量,并进行初始化。 对于函数指针,在c文件中定义函数,再将函数名赋值给函数指针,这样,就可以通过结构体的函数指针调用c文件中的函数。

 

 

4、运行函数

 

主运行函数.PNG

  由于使用结构体的函数指针调用函数,函数可以声明为static类型,安全性更好。

 

五、小结

  单片机C语言的面向对象编程,是利用结构体,将变量、指针、函数等进行封装,达到编程更加方便、程序可读性更好、方便移植等目的。 

  面向对象编程的知识点很多,本文只是简要的介绍了下,仅仅起到抛砖引玉的作用,日后设计过程中,需要不断的总结经验,沟通交流,以达到真正的理解,灵活运用。

 

  开源项目,开发工具,技术资料以及更多原创技术文章,请关注微信公众号。

  硬件家园     yjjy168168168

 

   作者:刘杰,软硬件技术10年,全职提供技术开发与技术服务、生产支持等。 





关键词: 单片机     面向对象     编程     C语言    

高工
2020-02-06 16:31:43     打赏
2楼

这个额不错


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]