模块化运行的源程序
int main(void)
{
Osc_Init(); //硬件初始化
UART1_Init();
Adc1_Init();
Adc2_Init();
Pwm_Init();
Gpio_Init();
Rtsp_Init();
Get_Config_Num(); //读取参数
While(1)
{
Config_Assign(); //参数赋值
Set_Path(MIDDLE_200K);
delay_ms(10); //等待模拟开关稳定
Pwm_Emit(MIDDLE_200K,Pwm_Count,Duty_Rate);
AD_WAVE(2000,0);
while(AD_Convert_Flag==CONVERTING); //等待采样完毕
Set_Path(MIDDLE_76K);
delay_ms(10);
Pwm_Emit(MIDDLE_76K,Pwm_Count,Duty_Rate);
AD_WAVE(2000,2000);
while(AD_Convert_Flag==CONVERTING);
Set_Path(LEFT_200K);
delay_ms(10);
Pwm_Emit(LEFT_200K,Pwm_Count,Duty_Rate);
AD_WAVE(2000,4000);
while(AD_Convert_Flag==CONVERTING);
Set_Path(RIGHT_200K);
delay_ms(10);
Pwm_Emit(RIGHT_200K,Pwm_Count,Duty_Rate);
AD_WAVE(2000,6000);
while(AD_Convert_Flag==CONVERTING);
Power=AD_POWER(); //采样电源电压
Temperature=AD_TEMP(); //采样温度电压
AD_Range=Algorithm_Middle_200k(BUFFER_A,2000,24); //采样周期24us
Algorithm_Middle_76k(BUFFER_A+2000,AD_Range,24);
Algorithm_Left_200k(BUFFER_A+4000,AD_Range,24);
Algorithm_Right_200k(BUFFER_A+6000,AD_Range,24);
Find_Fish_Group(24); //算出鱼群
Power_State=Algorithm_Power(Power); //算出当前电池电压状态
Real_Temperature=Algorithm_Temperature(Temperature); //算出当前温度
Communication(); //信息通信
}
} |