generated from Template/H563ZI-HAL-CMake-Template
新增 CommonCenter 类和 Config 结构体,提供超声波测距功能的配置和实例化支持
This commit is contained in:
16
Core/App/Center/common_center.hpp
Normal file
16
Core/App/Center/common_center.hpp
Normal file
@@ -0,0 +1,16 @@
|
||||
#pragma once
|
||||
|
||||
#include "../Common/ultrasonic.hpp"
|
||||
#include "../config.hpp"
|
||||
|
||||
class CommonCenter {
|
||||
public:
|
||||
static Ultrasonic& GetUltrasonic() {
|
||||
static Ultrasonic* instance = nullptr;
|
||||
if (instance == nullptr) {
|
||||
instance = new Ultrasonic(
|
||||
Config::kCaptureConfig.trigger, Config::kCaptureConfig.timer, Config::kCaptureConfig.channel);
|
||||
}
|
||||
return *instance;
|
||||
}
|
||||
};
|
||||
@@ -3,11 +3,13 @@
|
||||
|
||||
#include "Common/serial_port.hpp"
|
||||
#include "Helper/gpio_helper.hpp"
|
||||
#include "Center/common_center.hpp"
|
||||
|
||||
|
||||
void Setup() {
|
||||
GpioHelper::EnableAllGpioPeripheral();
|
||||
DelaySetup();
|
||||
auto ultrasonic = CommonCenter::GetUltrasonic();
|
||||
}
|
||||
|
||||
extern "C" void AppStart() {
|
||||
|
||||
14
Core/App/config.hpp
Normal file
14
Core/App/config.hpp
Normal file
@@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#include "stm32h563xx.h"
|
||||
#include "tim.h"
|
||||
|
||||
#include "./Helper/gpio_helper.hpp"
|
||||
|
||||
struct Config {
|
||||
static inline struct {
|
||||
GpioHelper::Gpio trigger;
|
||||
TIM_HandleTypeDef* timer;
|
||||
uint32_t channel;
|
||||
} kCaptureConfig = {{GPIOA, GPIO_PIN_0}, &htim7, TIM_CHANNEL_1};
|
||||
};
|
||||
Reference in New Issue
Block a user