在CubeIDE环境中使用面向对象编程
在CubeIDE环境中使用面向对象编程
1、 简介
- 面向对象(Object Oriented)是软件开发方法,一种编程范式。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。
面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。
2、具体步骤(以点灯为例)
(1)搭建环境
- 右键已创建的项目,选择"转换为C++"
![图片]()
- 新建文件夹,命名为"cpp",放置C++环境的头文件和源文件
![图片]()
- 将创建的文件夹导入C++路径
![图片]()
(2)创建类
- 在"cpp"文件夹中选择"新建类"
![alt text]()
- 将创建的头文件和源文件分别放入"Inc"和"Src"文件夹中
- 在"LED.h"中写入:
#ifndef CPP_LED_H_
#define CPP_LED_H_
class LED {
public:
LED();
void ON();
void OFF();
virtual ~LED();
};
#endif /* CPP_LED_H_ */
- 在"LED.cpp"中写入:
#include "../Inc/LED.h"//路径问题,得加前缀
#include "gpio.h"
//将小灯封装成类
LED::LED() {
// TODO Auto-generated constructor stub
}
//将开灯封装成成员函数
void LED::ON(){
HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_SET);
}
//将关灯封装成成员函数
void LED::OFF(){
HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_RESET);
}
LED::~LED() {
// TODO Auto-generated destructor stub
}

- 在"cpp\Src"中新建"main.cpp"源文件
- 写入以下内容
#include "main.h"
#include "LED.h"
LED LEDobj;
void CppMain(){
//延时1秒,闪一下
while(1){
LEDobj.OFF();
HAL_Delay(1000);
LEDobj.ON();
HAL_Delay(1000);
}
}
注意,C++程序不能直接放在主函数里
(3)加入到主函数
- 再将
CppMain()函数放入主函数循环里
while (1)
{
/* USER CODE END WHILE */
CppMain();
/* USER CODE BEGIN 3 */
}





浙公网安备 33010602011771号