yincheng.zhong
2024-04-11 9e3a42e5b5975b5abc42f9b60d90c9346fe9f83a
Src/main.c
@@ -195,6 +195,10 @@
    {
        SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader
    }
    if(memcmp(g_com_map2,g_com_map,200)!=0)
     {
        SCB->AIRCR = 0X05FA0000|(unsigned int)0x04;
     }
}
@@ -213,7 +217,7 @@
    hardware_pici = STMFLASH_ReadHalfWord(FLASH_HARDWARE_VERSION_MAP+2);
    hardware_type = STMFLASH_ReadHalfWord(FLASH_HARDWARE_VERSION_MAP+4);
    //deca_sleep(1000);
    g_com_map[VERSION] = (1<<8)|9;
    g_com_map[VERSION] = (1<<8)|14;
//    g_com_map[DEV_ID]=1158;
    g_com_map[GROUP_ID]=0;
//    g_com_map[COM_INTERVAL] = 1000;
@@ -222,6 +226,8 @@
        g_com_map[COM_INTERVAL] = 1000;
    }
    g_com_map[STATIONARY_TIME] = 10;
    g_com_map[LORA_POWER] = 22;
    g_com_map[POWER] = 67;
    active_flag = g_com_map[ACTIVE_INDEX];
    module_power = g_com_map[POWER];
//    g_com_map[IMU_ENABLE] = 0;
@@ -258,7 +264,7 @@
        module_power=0;
    }
    g_com_map[MAP_SIGN_INDEX] =0x55AA;
    memcpy(g_com_map2,g_com_map,COM_MAP_SIZE);
}
@@ -514,8 +520,9 @@
        OneSecondTask();
        IdleTask();
        Lora_Send_Poll();
        LoraUp_Poll();
#ifndef DEBUG_MODE
        if(!HAL_GPIO_ReadPin(INPUT_5V_GPIO_Port,INPUT_5V_Pin))
        if(!HAL_GPIO_ReadPin(INPUT_5V_GPIO_Port,INPUT_5V_Pin)&&motor_keeptime==0)
            HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);
#endif
@@ -1069,20 +1076,16 @@
            flag_onesecond = 1;
            Lora_send_flag=1;
#ifndef DEBUG_MODE
            if(nomove_count>g_com_map[NOMOVESLEEP_TIME]&&imu_enable)
            if(nomove_count>g_com_map[NOMOVESLEEP_TIME]&&imu_enable&&motor_keeptime==0)
            {
                if(sleep_flag==0)
                {
                    Radio.Standby();
                    Radio.Sleep();
                    sleep_flag = 1;
                    LedOff_task();
                }
            } else {
                if(sleep_flag)
                {
                    SCB->AIRCR = 0X05FA0000|(unsigned int)0x04;
                }
            }
            }
#endif
            if(nomove_count++>g_com_map[STATIONARY_TIME])
            {
@@ -1096,6 +1099,11 @@
            } else {
                gotosleep_flag=0;
            }
        }else{
            if(nomove_count<g_com_map[NOMOVESLEEP_TIME])
            {
                SCB->AIRCR = 0X05FA0000|(unsigned int)0x04;
            }
        }
    }
    if(!GET_USERKEY)    //长按重启逻辑