我正在尝试改善正在处理的嵌入式程序的结构。
基本上,我在MBED上有一个程序,该程序可从IMU中获取数据并移动一些电动机(无需过多介绍系统功能)。
这时我想做的是改善程序的结构。
我有一个主类,我在一个单独的类“ System”中设置了硬件(和引脚),在它自己的类“ IMU”中设置了IMU,在他们自己的类“ MotorDrivers”中设置了电动机驱动器,依此类推
另一位工程师/程序员告诉我,我应该设置“系统”以使所有功能都静态化,例如(在系统下):
// system.cpp
MODSERIAL & pc()
{
static MODSERIAL pc(USBTX, USBRX);
return pc;
}
IMU & imu()
{
static IMU imu(p28, p27);
return imu;
}
//system.hpp
MODSERIAL & pc();
IMU & imu();
这行得通,但是我想知道我是否不如应该在多个类中使用串行端口时那么简洁,高效或清晰。我当时以为需要成为朋友班或继承班。我现在做的方式是写“ pc()。printf(“打印一些东西”);”要使打印机在该类中工作,我将必须在该类中包含系统标题。