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

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

【编者按】感谢阅读本文,将基于单片机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年的经验,在单片机的经验更是突出,解决过多个单片机难题,可接单片机和软件开发等项目。目前在开讲单片机的教学,教程会在我爱方案网更新,敬请期待!公众号【硬件家园 】


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


相关资讯
革新辅助电源设计:1700V SiC MOSFET赋能20-200W高效系统​

在电机驱动、电动汽车、快速充电和可再生能源系统中,低功耗辅助电源常被视为"幕后功臣"——尽管其功率等级远低于主功率系统,却直接影响着整套设备的可靠性与能效。面对提升可靠性、缩小体积、降低成本、规避供应链风险等多重挑战,设计人员亟需突破传统设计局限的创新解决方案。Wolfspeed全新推出的工业级 C3M0900170x 与车规级认证(AEC-Q101) E3M0900170x 碳化硅MOSFET系列,正为20-200W辅助电源设计提供关键赋能,助力工程师在性能与成本的博弈中开辟新路径。

安森美Hyperlux SG:攻克全局快门三大痛点 (高性能、高效率、低功耗)​

在当今高速成像应用中,如机器视觉、自主导航、增强/虚拟现实(AR/VR/MR)和条码扫描,传统的卷帘快门图像传感器往往力不从心,会因运动模糊或空间失真严重影响图像质量。为克服这些挑战并精准“冻结”快速运动的物体,具备全局快门特性的先进CMOS图像传感器成为关键选择。安森美深知工程师在为高速应用筛选最优全局快门传感器时需权衡大量参数(如分辨率、光学格式、帧率、功耗、动态范围、全局快门效率GSE及信噪比SNR等)以及高级功能(如同步触发、嵌入式自动曝光、ROI选择),因此开发了创新的Hyperlux SG系列产品。

常关型SiC Combo JFET结构

安森美SiC Combo JFET技术通过创新性集成常开型SiC JFET与低压Si MOSFET,构建出高性能共源共栅(cascode)结构,攻克了SiC器件常开特性的应用瓶颈。该方案兼具SiC材料的高压处理能力、超低导通电阻(RDS(on))与卓越热性能,以及Si MOSFET的易控常关特性,为大电流应用(如固态断路器、高功率开关系统)和多器件并联场景提供突破性的功率密度与效率解决方案。

920nm问世+低红曝优选:IR:6技术精准匹配多元红外应用场景

IR:6红外芯片通过实质性的技术创新,显著提升了在面部识别、智能传感器和节能系统等应用中的关键性能(亮度、效率和图像质量)。它在人眼不可见的红外领域展现出卓越表现,特别是在安防领域以更高亮度、更低功耗和更优画质设定了新的距离覆盖和可靠性标准。

工业电动化浪潮:充电器设计的效率与尺寸挑战

工业设备加速迈向电动化,对稳健、高效、适应性强的电池充电器需求激增。无论是手持工具还是重型机械,充电器必须应对严苛环境和全球通用电压输入(120-480 Vac),并优先满足小型化、轻量化及被动散热的设计要求。在这一关键任务中,功率因数校正(PFC)级的拓扑选择至关重要,它直接影响着系统效率、尺寸和成本。本文将剖析现代工业充电设计的核心挑战,重点对比传统升压 PFC 与日益流行的图腾柱 PFC 拓扑方案,并探讨碳化硅(SiC)MOSFET 如何颠覆性地赋能高效率解决方案,为工程师提供清晰的设计指导。