|
/******************************************************************************
|
* Copyright (C) 2014-2015 HangZhou SiZhu Co.,LTD.
|
*
|
*-----------------------------------------------------------------------------
|
* File: main.c
|
* Description: main test code used for test all hardware
|
* Author:
|
* Date: August 8, 2021
|
*****************************************************************************/
|
|
|
/* ----------------------- Platform includes --------------------------------*/
|
#include "main.h"
|
|
|
/******************************************
|
* func: main
|
* desc: main test code used for test all hardware STM32F103VE FLASH 512K SRAM 64K
|
* input: none
|
* output: none
|
* return: none
|
*****************************************/
|
int main(void)
|
{
|
/*µØÖ·×ª»»*/
|
SCB->VTOR = FLASH_BASE | 0x8000; /* Vector Table Relocation in Internal FLASH. */
|
/*ÍâÉè³õʼ»¯*/
|
|
ufg620_system_para_init();
|
|
|
// ThirdFunctionTset();
|
|
/*½øÈëÖ÷³ÌÐò*/
|
while(1)
|
{
|
#if WD_USE
|
IWDG_Init();
|
#endif
|
while(SYSTEM_ONLY_WORK_MODE == v20_system_para_g.system_mode)
|
{
|
work_process_para_init();
|
WD_GPIO_diff
|
while(SYSTEM_ONLY_WORK_MODE == v20_system_para_g.system_mode )
|
{
|
// µÈ´ýʱ¼äÖÜÆÚµ½
|
if( (system_time_ev_g.time_period_flag == TRUE) && (v20_system_para_g.system_extern_power_connect_flag == ACTIVE) )
|
{
|
system_time_ev_g.time_period_flag = FALSE;
|
/*¿´ÃŹ·Î¹¹·*/
|
IWDG_Feed();
|
WD_GPIO_diff
|
|
Get_Time();//»ñȡʱ¼ä
|
|
//****************²âÁ¿Î¶ÈѹÁ¦ + *********************//
|
Pulse_Output(); //¸ßƵÂö³åÊä³ö
|
// lower_pluse_out();//µÍƵÂö³åÐźÅÊä³ö ///jlcתÓÃΪµç»úOPENÐźÅ
|
current_output(); //µçÁ÷»·
|
|
/*FPGA¼ÆÁ¿*/
|
measure_process_new_state1();
|
measure_process_new_state2();
|
|
pressure_and_temperature_process();//ÎÂѹ¼ì²â
|
|
/*¼ÆÁ¿Êý¾Ý´¦Àí²¢´æ´¢*/
|
data_trans_reg();
|
|
/*¿´ÃŹ·Î¹¹·*/
|
IWDG_Feed();
|
WD_GPIO_diff
|
|
ble_detection_and_handle(); //À¶ÑÀºÍÉÏλ»ú
|
|
get_bat_voltage_Pro();//ÖÜÆÚÐԲɼ¯µç³Øµçѹ
|
|
/*״̬×Ö*/
|
sizhu_state_word_pro();
|
|
SystemPro();
|
|
/*±¨¾¯×Ö¼°±¨¾¯Êý¾Ý´æ´¢*/
|
sizhu_alarm_word_pro();
|
|
sys_menu(); //°´¼üÏÔʾ
|
|
calibration_mode_process();
|
|
Valve_Control_Fun(); //·§¿Ø
|
|
/*˼ÖþÈÕÖ¾´æ´¢*/
|
sizhu_eeprom_save_log_process();
|
|
//¼ì²é´®¿ÚÊý¾Ý
|
// rx_pc_485_task(); //485 ///jlcתÓÃΪµç»úÐźÅ
|
|
#ifdef THIRD_TELECOM_OPEN
|
gprs_third_handle();
|
#endif
|
|
// if(data_interaction_DTU_para_g.DT_mode == DT_MODE_DTU)
|
// {
|
// data_interaction_DTU_fun();
|
// }else
|
// {
|
gprs_sizhu_handle(); //ƽ̨ÎÞÏßͨѶ
|
// }
|
|
|
/*ϵͳ¼ì²é,±ØÐë·ÅÔÚÉϱ¨ºóÃæ£¬·ñÔòÄÚÍâµçģʽÇл»Ê±ÎÞ·¨²úÉú¹©µç±¨¾¯*/
|
system_working_detection();
|
|
/*modbusµØÖ·±íÊý¾Ý¸üÐÂ*/
|
modbus_data_updata();
|
|
/*µ÷ÊÔ״̬¼ì²â*/
|
system_working_enter_detection();
|
|
}
|
}
|
}
|
|
while(SYSTEM_LOWPOWER_WORK_MODE == v20_system_para_g.system_mode)
|
{
|
low_power_process_para_init();
|
WD_GPIO_diff
|
|
while(SYSTEM_LOWPOWER_WORK_MODE == v20_system_para_g.system_mode )
|
{
|
if( (system_time_ev_g.time_period_flag == TRUE) && (v20_system_para_g.system_extern_power_connect_flag == NOACTIVE) )
|
{
|
system_time_ev_g.time_period_flag = FALSE;
|
All_GPIO_Lowpower_Init(); //¶Ë¿Ú³õʼ»¯
|
|
/*¿´ÃŹ·Î¹¹·*/
|
IWDG_Feed();
|
WD_GPIO_diff
|
|
Get_Time();//»ñȡʱ¼ä
|
|
// lower_pluse_out();//µÍƵÂö³åÐźÅÊä³ö ///jlcתÓÃΪµç»úOPENÐźÅ
|
current_output();//µçÁ÷»·
|
|
if((work_flow_average_g.flow_0_flag ==0)||((work_flow_average_g.flow_0_flag ==1)&&(v20_system_para_g.system_bat_work_period1%2 ==0 )))
|
{
|
/*FPGA¼ÆÁ¿*/
|
/*ûÓг¤Ê±¼ä0Á÷Á¿Ê±£¬Ã¿Ã빤×÷£¬Èç¹û³¤Ê±¼ä0Á÷Á¿£¬Ôòÿ2Ã빤×÷ */
|
measure_process_new_low_power_state1();
|
measure_process_new_low_power_state2(1);
|
// work_flow_average_g.FPGA_work_test ++;
|
}
|
|
pressure_and_temperature_process();//ÎÂѹ¼ì²â
|
|
/*¼ÆÁ¿Êý¾Ý´¦Àí²¢´æ´¢*/
|
data_trans_reg();
|
|
get_bat_voltage_Pro();//ÖÜÆÚÐԲɼ¯µç³Øµçѹ
|
|
/*¿´ÃŹ·Î¹¹·*/
|
IWDG_Feed();
|
WD_GPIO_diff
|
|
/*״̬×Ö*/
|
sizhu_state_word_pro();
|
|
SystemPro();
|
|
/*±¨¾¯×Ö*/
|
sizhu_alarm_word_pro();
|
|
//¼ì²é´®¿ÚÊý¾ÝºÍÀ¶ÑÀͨÐÅÊý¾Ý
|
only_ble_detection_and_handle(); //À¶ÑÀÊý¾Ý´¦Àí
|
|
sys_menu(); //°´¼üÏÔʾ
|
|
Valve_Control_Fun(); //·§¿Ø
|
|
/*˼ÖþÈÕÖ¾´æ´¢*/
|
sizhu_eeprom_save_log_process();
|
|
#ifdef THIRD_TELECOM_OPEN
|
gprs_third_handle();
|
#endif
|
|
// if(data_interaction_DTU_para_g.DT_mode == DT_MODE_DTU)
|
// {
|
// data_interaction_DTU_fun();
|
// }else
|
// {
|
gprs_sizhu_handle(); //ƽ̨ÎÞÏßͨѶ
|
// }
|
|
|
/*Ìá¸ßÏìÓ¦ËÙ¶È*/
|
if((v20_system_para_g.system_extern_power_connect_flag == 1)||(v20_system_para_g.valve_enter_status == 1))
|
{
|
// rx_pc_485_task();///jlcתÓÃΪµç»úÐźÅ
|
}
|
|
/*ϵͳ¼ì²é,±ØÐë·ÅÔÚÉϱ¨ºóÃæ£¬·ñÔòÄÚÍâµçģʽÇл»Ê±ÎÞ·¨²úÉú¹©µç±¨¾¯*/
|
system_working_detection(); //ϵͳ״̬¼ì²â
|
|
/*modbusµØÖ·±íÊý¾Ý¸üÐÂ*/
|
modbus_data_updata();
|
|
/*µ÷ÊÔ״̬¼ì²â*/
|
system_working_enter_detection();
|
|
/*ÌØÊâÇé¿öϲ»ÐÝÃß*/
|
if(0 == system_connect())
|
{
|
#if WD_USE
|
GPIO_IPD_Init();
|
// ex_rtc_nv_config_disable();
|
PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
|
//
|
All_clock_Init();
|
#endif
|
}
|
}
|
}
|
}
|
|
/*DEBUG MODE*/
|
while(SYSTEM_DEBUG_MODE == v20_system_para_g.system_mode)
|
{
|
system_debug_para_init();
|
//system_in_debug_fpga_init();
|
while(SYSTEM_DEBUG_MODE == v20_system_para_g.system_mode )
|
{
|
ble_detection_and_handle();
|
delay_ms(10);
|
debug_task();
|
/*¿´ÃŹ·Î¹¹·*/
|
IWDG_Feed();
|
WD_GPIO_diff
|
}
|
system_debug_para_out();
|
}
|
|
/*UPDATA MODE*/
|
while(SYSTEM_UPDATA_MODE == v20_system_para_g.system_mode)
|
{
|
while(SYSTEM_UPDATA_MODE == v20_system_para_g.system_mode )
|
{
|
WD_GPIO_Deinit();
|
enter_void();
|
}
|
}
|
}
|
}
|