Arduino小车程序通用模板
在这里插入代码片
int ReverFlag = 1;
int StartFlag = 0;
int KeyFlag = 0;
/*
* @brief 输入模块,用于编写传感器接受外界变化数据的逻辑
* @param int Temp_xx1/Temp_xx2/....
* @retval int Input1*/
int InputDevice(int Temp_xx1,int Temp_xx2){
/* 具体接受的逻辑 */
return Input1;
}
/*
* @brief 输出模块,用于将算法计算出的值发送给执行器
* @param int Temp_xx1/Temp_xx2/....
* @retval int Onput1 */
int OuputDevice(int Temp_xx1,int Temp_xx2){
/* 具体输出的逻辑 */
return Onput1;
}
/**
* @brief 算法模块,用于接收输入模块计算的值,并通过算法得出要输出的值
* @param int Temp_xx1/Temp_xx2/....
* @retval int Plan1 */
int PlanDevice(int Temp_xx1,int Temp_xx2){
/* 具体输出的逻辑 */
return Plan1;
}
/**
* @brief 结束模块,通过判断特定的标志位,结束输出
* @param int KeyFlag....
* @retval int StartFlag.... */
int EndDevice(){
OuputDevice();
}
/**
@brief 起始模块,用于编写传感器接受外界变化数据的逻辑
其中ReverFlag为全局变量,且开始为1
@param: int KeyFlag....
@retval: int StartFlag.... */
void StartDevice(int KeyFlag){
if(ReverFlag){
ReverFlag = 0;
StartFlag = 1;
}
return StartFlag;
}
/**
* @brief 初始化所需的模块和引脚
* @param None
* @retval None */
void setup(){
}
loop(){
//起始模块,用于判定是否开始程序,当按键被触发时,StartFlag为真,开始加入主循环。
//同时将ReverFlag置为0,不再执行起始模块。
//注:按键模块本程序为给出,请自行编写。
StartDevice();
if(StartFlag == 1){
InputDevice();
PlanDevice();
OuputDevice();
}
else{
EndtDevice();
}
}
学习资料: