【单片机篇】基于结构体的面向对象编程技巧——工程师原创应用笔记

发布时间:2020-11-19 阅读量:1466 来源: 我爱方案网 作者: 刘工程师

【编者按】感谢阅读本文,将基于单片机C语言,讲述基于结构体的面向对象编程技巧。主要从知识说明和编程说明两大方面讲述。作者拥有10年的单片机经验,通过实践将知识提供给需要的工程师,让更多的工程师从中所学,从中受益。


阅读说明:需要一定的C语言基础,才看得懂此文。

 

一、面向对象


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

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

 

二、知识说明


1、结构体


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

常用的定义方法:

typedef struct

{

  变量;

  指针;

  函数指针;

} 结构体名称_t;

 

2、指针


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

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

 

3、函数指针


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

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

  

三、编程说明


1、主函数如下:

 

图片50.png

 

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

 

2、结构体类型定义

 

图片51.png

 

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

 

 图片52.png

 

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

 

3、结构体变量定义

 

图片53.png


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

 

4、运行函数

 

 图片54.png

 

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

 

五、小结


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

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

 

作者介绍:刘工程师(笔名),在软硬件技术上有10年的经验,在单片机的经验更是突出,解决过多个单片机难题,可接单片机和软件开发等项目。目前在开讲单片机的教学,教程会在我爱方案网更新,敬请期待!公众号【硬件家园 】


版权声明:本文为博主原创,未经本人允许,禁止转载!


相关资讯
提高热电偶测温电路性能的设计小妙招

在工业生产过程中,温度是需要测量和控制的重要参数之一。在温度测量中,热电偶的应用极为广泛,它具有结构简单、制造方便、测量范围广、精度高、惯性小和输出信号便于远传等许多优点。另外,由于热电偶是一种无源传感器,测量时不需外加电源,使用十分方便,所以常被用作测量炉子、管道内的气体或液体的温度及固体的表面温度。

你对电机驱动的所有要求这颗芯片都能满足

日前,拓尔微推出一颗适用于按摩椅、扫地机、吸尘器等大电流智能市场应用的直流有刷马达驱动,这可马达驱动峰值电流高达10A,功耗小,满足大部分电机驱动的所有要求。除此之外,拓尔微还有全桥驱动、栅极驱动、低边驱动、DC/DC、音频功放、充电协议、霍尔开关等系列产品可供选型,应用在按摩椅多个关键部件,为客户提供更全面的产品选型支持和一站式服务。

桥式电路技术特点与分析方案介绍

桥式电路基于基尔霍夫定律和欧姆定律的原理,通过电流和电压的比较来确定未知元件的值

Transphorm 最新技术白皮书: 常闭耗尽型 (D-Mode)与增强型 (E-Mode) 氮化镓晶体管的优势对比

氮化镓功率半导体器件的先锋企业 Transphorm说明了如何利用其Normally-Off D-Mode平台设计充分发挥氮化镓晶体管的优势,而E-Mode设计却必须在性能上做出妥协

【干货下载】编程小白的第一本Python入门书

本书通俗易懂,化繁为简,排版科学,用高效的学习方法让你快速入门Python,适合编程小白。