在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
}

alt text

  • 在"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 */
}
posted @ 2025-08-26 16:39  奶龙大王  阅读(40)  评论(0)    收藏  举报