type
status
date
slug
summary
tags
category
icon
password
C语言使用结构体也能实现类似C++的面向对象编程,下面以封装串口为例,通过面向对象,分层分离以及模块化编程的思想减少冗余代码,最终实现通过一个函数就能注册板载串口
一、面向对象
首先,一个最简单的串口程序至少需要包含下函数(当然也可以添加),放到一个结构体中,类比C++的类的概念:
在对类实例化,构建自己的串口设备,并实现各个函数并提供一个统一的接口函数
GetUARTDevice:
以后先通过
GetUARTDevice
函数获得串口,获取结构体成员即可调用该串口的各个函数:二、添加私有数据
同一款芯片上面的多个 UART,它们的操作代码是类似的,没有必要为各个 UART 单独提供函数,可以采用共用一套加各自的私有数据实现。对上面
UART_Device
进行扩展,priv_data
将指向设备相关的结构体:实例化,并实现函数(以UART_Rx_Start为例)
- 作者:Torah
- 链接:https://tangly1024.com/article/1131d4c4-f0c4-80a0-9ce8-fc05375b7604
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。