fix: 修复调试配置、中文乱码与上传重试逻辑问题
1. 更新Keil调试器的SWO时钟与flash配置 2. 修复main.c中全角乱码为正常中文注释 3. 修正上传失败重试的计数判断逻辑 4. 调整部分定时器延时参数与调试日志描述
This commit is contained in:
+22
-2
@@ -433,7 +433,7 @@
|
|||||||
<SetRegEntry>
|
<SetRegEntry>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
<Key>CMSIS_AGDI</Key>
|
<Key>CMSIS_AGDI</Key>
|
||||||
<Name>-X"Any" -UAny -O206 -S8 -C0 -P00000000 -N00("ARM CoreSight SW-DP") -D00(0BC11477) -L00(0) -TO65554 -TC10000000 -TT10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0FlashHC32L17X_128K.FLM -FS00 -FL020000 -FP0($$Device:HC32L170JATA$Flash\FlashHC32L17X_128K.FLM)</Name>
|
<Name>-X"Any" -UAny -O206 -S9 -C0 -P00000000 -N00("ARM CoreSight SW-DP") -D00(0BC11477) -L00(0) -TO65554 -TC10000000 -TT10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO14 -FD20000000 -FC1000 -FN1 -FF0FlashHC32L17X_128K.FLM -FS00 -FL020000 -FP0($$Device:HC32L170JATA$Flash\FlashHC32L17X_128K.FLM)</Name>
|
||||||
</SetRegEntry>
|
</SetRegEntry>
|
||||||
<SetRegEntry>
|
<SetRegEntry>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
@@ -473,6 +473,26 @@
|
|||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>LocalMAC</ItemText>
|
<ItemText>LocalMAC</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
|
<Ww>
|
||||||
|
<count>2</count>
|
||||||
|
<WinNumber>1</WinNumber>
|
||||||
|
<ItemText>SGCP.LoginOk</ItemText>
|
||||||
|
</Ww>
|
||||||
|
<Ww>
|
||||||
|
<count>3</count>
|
||||||
|
<WinNumber>1</WinNumber>
|
||||||
|
<ItemText>SGCP.UploadOk</ItemText>
|
||||||
|
</Ww>
|
||||||
|
<Ww>
|
||||||
|
<count>4</count>
|
||||||
|
<WinNumber>1</WinNumber>
|
||||||
|
<ItemText>App.Login_LPTimer0</ItemText>
|
||||||
|
</Ww>
|
||||||
|
<Ww>
|
||||||
|
<count>5</count>
|
||||||
|
<WinNumber>1</WinNumber>
|
||||||
|
<ItemText>App.Upload_LPTimer0</ItemText>
|
||||||
|
</Ww>
|
||||||
</WatchWindow1>
|
</WatchWindow1>
|
||||||
<MemoryWindow1>
|
<MemoryWindow1>
|
||||||
<Mm>
|
<Mm>
|
||||||
@@ -537,7 +557,7 @@
|
|||||||
<EnableFlashSeq>0</EnableFlashSeq>
|
<EnableFlashSeq>0</EnableFlashSeq>
|
||||||
<EnableLog>0</EnableLog>
|
<EnableLog>0</EnableLog>
|
||||||
<Protocol>2</Protocol>
|
<Protocol>2</Protocol>
|
||||||
<DbgClock>10000000</DbgClock>
|
<DbgClock>5000000</DbgClock>
|
||||||
</DebugDescription>
|
</DebugDescription>
|
||||||
</TargetOption>
|
</TargetOption>
|
||||||
</Target>
|
</Target>
|
||||||
|
|||||||
+60
-62
@@ -20,17 +20,17 @@ extern uint32_t CommWay;
|
|||||||
extern uint32_t DeviceSign;
|
extern uint32_t DeviceSign;
|
||||||
extern uint32_t AddNumber;
|
extern uint32_t AddNumber;
|
||||||
|
|
||||||
extern uint8_t LocalMAC[6]; //本机MAC地址
|
extern uint8_t LocalMAC[6]; //本机MAC地址
|
||||||
extern uint8_t GatewayMAC[6]; //网关MAC地址,注册时全为0
|
extern uint8_t GatewayMAC[6]; //网关MAC地址,注册时全为0
|
||||||
extern uint8_t LocalDataPack[sizeof(SGCP.DevData.LaserTracing)]; //本机数据包 //本机数据包
|
extern uint8_t LocalDataPack[sizeof(SGCP.DevData.LaserTracing)]; //本机数据包 //本机数据包
|
||||||
|
|
||||||
bool MainDispEn = true;
|
bool MainDispEn = true;
|
||||||
bool DataDispEn = true;
|
bool DataDispEn = true;
|
||||||
/*****************************************************************************************
|
/*****************************************************************************************
|
||||||
* 函数名称: MainDBGOnOff
|
* 函数名称: MainDBGOnOff
|
||||||
* 功能描述: 主调试信息开关函数
|
* 功能描述: 主调试信息开关函数
|
||||||
* 参 数: OnOff,开关
|
* 参 数: OnOff,开关
|
||||||
* 返 回 值: 无
|
* 返 回 值: 无
|
||||||
*****************************************************************************************/
|
*****************************************************************************************/
|
||||||
void MainDBGOnOff(bool OnOff)
|
void MainDBGOnOff(bool OnOff)
|
||||||
{
|
{
|
||||||
@@ -41,10 +41,10 @@ void MainDBGOnOff(bool OnOff)
|
|||||||
DBG_LOG("\r\nMain Display Disable!\r\n\r\n");
|
DBG_LOG("\r\nMain Display Disable!\r\n\r\n");
|
||||||
}
|
}
|
||||||
/*****************************************************************************************
|
/*****************************************************************************************
|
||||||
* 函数名称: DataDBGOnOff
|
* 函数名称: DataDBGOnOff
|
||||||
* 功能描述: 数据信息开关函数
|
* 功能描述: 数据信息开关函数
|
||||||
* 参 数: OnOff,开关
|
* 参 数: OnOff,开关
|
||||||
* 返 回 值: 无
|
* 返 回 值: 无
|
||||||
*****************************************************************************************/
|
*****************************************************************************************/
|
||||||
void DataDBGOnOff(bool OnOff)
|
void DataDBGOnOff(bool OnOff)
|
||||||
{
|
{
|
||||||
@@ -82,17 +82,17 @@ static void AppInit(void)
|
|||||||
LocalMAC[i] = *((volatile const uint8_t *)(0x00002800 + i));
|
LocalMAC[i] = *((volatile const uint8_t *)(0x00002800 + i));
|
||||||
}
|
}
|
||||||
memcpy(&App.Para.BLPara.DevMac, &LocalMAC[0], 6);
|
memcpy(&App.Para.BLPara.DevMac, &LocalMAC[0], 6);
|
||||||
LocalType = (App.Para.BLPara.DevMac[0] | (App.Para.BLPara.DevMac[1] << 8)); //本机设备类型
|
LocalType = (App.Para.BLPara.DevMac[0] | (App.Para.BLPara.DevMac[1] << 8)); //本机设备类型
|
||||||
CommWay = App.Para.BLPara.DevMac[2]; //本机通讯方式
|
CommWay = App.Para.BLPara.DevMac[2]; //本机通讯方式
|
||||||
DeviceSign = App.Para.BLPara.DevMac[3] & 0x80; //本机设备标志
|
DeviceSign = App.Para.BLPara.DevMac[3] & 0x80; //本机设备标志
|
||||||
AddNumber = ((App.Para.BLPara.DevMac[3] << 16)+ (App.Para.BLPara.DevMac[4] << 8) + App.Para.BLPara.DevMac[5]) - 0x800000; //本机地址编号,数字部分对应唯一地址编号
|
AddNumber = ((App.Para.BLPara.DevMac[3] << 16)+ (App.Para.BLPara.DevMac[4] << 8) + App.Para.BLPara.DevMac[5]) - 0x800000; //本机地址编号,数字部分对应唯一地址编号
|
||||||
#else
|
#else
|
||||||
LocalType = LASER_TRACING; //本机设备类型
|
LocalType = LASER_TRACING; //本机设备类型
|
||||||
CommWay = LORA; //本机通讯方式
|
CommWay = LORA; //本机通讯方式
|
||||||
DeviceSign = MASTER; //本机设备标志
|
DeviceSign = MASTER; //本机设备标志
|
||||||
AddNumber = 0x000023 + DeviceSign;//本机地址编号,数字部分对应唯一地址编号
|
AddNumber = 0x000023 + DeviceSign;//本机地址编号,数字部分对应唯一地址编号
|
||||||
App.Para.BLPara.LoraFreq = CH0;
|
App.Para.BLPara.LoraFreq = CH0;
|
||||||
LocalMAC[0] = LocalType & 0xFF; //本机MAC地址
|
LocalMAC[0] = LocalType & 0xFF; //本机MAC地址
|
||||||
LocalMAC[1] = (LocalType >> 8) & 0xFF;
|
LocalMAC[1] = (LocalType >> 8) & 0xFF;
|
||||||
LocalMAC[2] = CommWay;
|
LocalMAC[2] = CommWay;
|
||||||
LocalMAC[3] = (AddNumber >> 16) & 0xFF;
|
LocalMAC[3] = (AddNumber >> 16) & 0xFF;
|
||||||
@@ -104,7 +104,7 @@ static void AppInit(void)
|
|||||||
if(App.Para.FactoryFlag != 0x00)
|
if(App.Para.FactoryFlag != 0x00)
|
||||||
{
|
{
|
||||||
App.Para.FactoryFlag = 0x00;
|
App.Para.FactoryFlag = 0x00;
|
||||||
/*校准参数初始化*/
|
/*校准参数初始化*/
|
||||||
App.Para.CaliPara.PitchZero = 0;
|
App.Para.CaliPara.PitchZero = 0;
|
||||||
App.Para.CaliPara.RollZero = 0;
|
App.Para.CaliPara.RollZero = 0;
|
||||||
App.Para.CaliPara.YawZero = 0;
|
App.Para.CaliPara.YawZero = 0;
|
||||||
@@ -137,7 +137,7 @@ static void AppInit(void)
|
|||||||
if(App.Para.BLPara.LoraFreq < 410000000 || App.Para.BLPara.LoraFreq > 525000000)
|
if(App.Para.BLPara.LoraFreq < 410000000 || App.Para.BLPara.LoraFreq > 525000000)
|
||||||
App.Para.BLPara.LoraFreq = CH0;
|
App.Para.BLPara.LoraFreq = CH0;
|
||||||
App.Para.Lora.FreqCent = App.Para.BLPara.LoraFreq;
|
App.Para.Lora.FreqCent = App.Para.BLPara.LoraFreq;
|
||||||
SX1276LoRaWriteFreq(App.Para.Lora.FreqCent); //Lora频率:433100000ul + 200000*N
|
SX1276LoRaWriteFreq(App.Para.Lora.FreqCent); //Lora频率:433100000ul + 200000*N
|
||||||
|
|
||||||
if(App.Para.Rs485Ch1.Addr > 16 || App.Para.Rs485Ch1.Addr < 1){
|
if(App.Para.Rs485Ch1.Addr > 16 || App.Para.Rs485Ch1.Addr < 1){
|
||||||
App.Para.Rs485Ch1.Addr = 1;
|
App.Para.Rs485Ch1.Addr = 1;
|
||||||
@@ -159,10 +159,10 @@ static void AppInit(void)
|
|||||||
}
|
}
|
||||||
SAVE_APP_PARA((uint32_t *)&App.Para);
|
SAVE_APP_PARA((uint32_t *)&App.Para);
|
||||||
|
|
||||||
LpUart0Init(App.Para.Rs485Ch1.BaudRate);//低功耗串口初始化
|
LpUart0Init(App.Para.Rs485Ch1.BaudRate);//低功耗串口初始化
|
||||||
|
|
||||||
LORAIntEnable();
|
LORAIntEnable();
|
||||||
LoraInit(); //< LORA芯片初始化
|
LoraInit(); //< LORA芯片初始化
|
||||||
FeedDog();
|
FeedDog();
|
||||||
|
|
||||||
Lsm6dslInit();
|
Lsm6dslInit();
|
||||||
@@ -173,7 +173,7 @@ static void AppInit(void)
|
|||||||
|
|
||||||
LPTimer0_OFF();
|
LPTimer0_OFF();
|
||||||
|
|
||||||
uint32_t seed = 0;//< 随机数初始化
|
uint32_t seed = 0;//< 随机数初始化
|
||||||
seed = seed + LocalMAC[2];
|
seed = seed + LocalMAC[2];
|
||||||
seed = (seed << 8) + LocalMAC[3];
|
seed = (seed << 8) + LocalMAC[3];
|
||||||
seed = (seed << 8) + LocalMAC[4];
|
seed = (seed << 8) + LocalMAC[4];
|
||||||
@@ -194,7 +194,7 @@ static void AppInit(void)
|
|||||||
App.LoginFlag = false;
|
App.LoginFlag = false;
|
||||||
App.Login_RTC = false;
|
App.Login_RTC = false;
|
||||||
App.Login_LPTimer0 = true;
|
App.Login_LPTimer0 = true;
|
||||||
//LPTimer0_ON((App.Nonce % 1200) + 300);//定时30s+随机2分钟,最小间隙100ms
|
//LPTimer0_ON((App.Nonce % 1200) + 300);//定时30s+随机2分钟,最小间隙100ms
|
||||||
LPTimer0_ON(50);
|
LPTimer0_ON(50);
|
||||||
MAIN_DBG_LOG("Login LPTimer0 Open\r\n");
|
MAIN_DBG_LOG("Login LPTimer0 Open\r\n");
|
||||||
|
|
||||||
@@ -282,7 +282,7 @@ static void ReadDataLoopHandler(void)
|
|||||||
RollDiff = App.ConvertedData.Roll - App.Para.CaliPara.RollZero;
|
RollDiff = App.ConvertedData.Roll - App.Para.CaliPara.RollZero;
|
||||||
if((PitchDiff > ERINTERVAL_VPT) || (RollDiff > ERINTERVAL_VPT))
|
if((PitchDiff > ERINTERVAL_VPT) || (RollDiff > ERINTERVAL_VPT))
|
||||||
{
|
{
|
||||||
//触发紧急上报
|
//触发紧急上报
|
||||||
App.ERFlag = true;
|
App.ERFlag = true;
|
||||||
DATA_DBG_LOG("PitchDiff=%04d, PitchDiff=%04d\r\n", PitchDiff,RollDiff);
|
DATA_DBG_LOG("PitchDiff=%04d, PitchDiff=%04d\r\n", PitchDiff,RollDiff);
|
||||||
DATA_DBG_LOG("Start emergency reporting!\r\n");
|
DATA_DBG_LOG("Start emergency reporting!\r\n");
|
||||||
@@ -300,7 +300,7 @@ static void ReadDataLoopHandler(void)
|
|||||||
SGCP.DevData.LaserTracing.MasterDev.BatLevel = 0x00;
|
SGCP.DevData.LaserTracing.MasterDev.BatLevel = 0x00;
|
||||||
#endif
|
#endif
|
||||||
#if (SGCP_SELECT == 1 || SGCP_SELECT == 2)
|
#if (SGCP_SELECT == 1 || SGCP_SELECT == 2)
|
||||||
SX1276LoCalcRssiSnr(&SGCP.DevData.LaserTracing.MasterDev.RSSI, &SGCP.DevData.LaserTracing.MasterDev.Nsr);//获取信号强度
|
SX1276LoCalcRssiSnr(&SGCP.DevData.LaserTracing.MasterDev.RSSI, &SGCP.DevData.LaserTracing.MasterDev.Nsr);//获取信号强度
|
||||||
#else
|
#else
|
||||||
SGCP.DevData.LaserTracing.MasterDev.RSSI = 0x00;
|
SGCP.DevData.LaserTracing.MasterDev.RSSI = 0x00;
|
||||||
SGCP.DevData.LaserTracing.MasterDev.Nsr = 0x00;
|
SGCP.DevData.LaserTracing.MasterDev.Nsr = 0x00;
|
||||||
@@ -308,7 +308,7 @@ static void ReadDataLoopHandler(void)
|
|||||||
|
|
||||||
memcpy(LocalDataPack, &SGCP.DevData.LaserTracing, sizeof(LocalDataPack));
|
memcpy(LocalDataPack, &SGCP.DevData.LaserTracing, sizeof(LocalDataPack));
|
||||||
DATA_DBG_LOG("<------------ Sensor Data Upda End ------------> \r\n");
|
DATA_DBG_LOG("<------------ Sensor Data Upda End ------------> \r\n");
|
||||||
//App.RDStatus = READDATA_STATUS_UPDAING;//持续工作
|
//App.RDStatus = READDATA_STATUS_UPDAING;//持续工作
|
||||||
App.RDStatus = READDATA_STATUS_IDLE;
|
App.RDStatus = READDATA_STATUS_IDLE;
|
||||||
App.UpdateOk = true;
|
App.UpdateOk = true;
|
||||||
break;}
|
break;}
|
||||||
@@ -333,7 +333,7 @@ static void AppLoopHandler(void)
|
|||||||
|
|
||||||
case APP_STATUS_ON:{
|
case APP_STATUS_ON:{
|
||||||
if(App.TD1mSDelayCnt <= 0){
|
if(App.TD1mSDelayCnt <= 0){
|
||||||
App.TD1mSDelayCnt = 1000;//唤醒后待机时间
|
App.TD1mSDelayCnt = 300;//唤醒后待机时间
|
||||||
App.Status = APP_STATUS_ACTION;
|
App.Status = APP_STATUS_ACTION;
|
||||||
}
|
}
|
||||||
break;}
|
break;}
|
||||||
@@ -348,15 +348,15 @@ static void AppLoopHandler(void)
|
|||||||
if(SGCP.InStatus != IN_STATUS_IDLE){
|
if(SGCP.InStatus != IN_STATUS_IDLE){
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if(SGCP.LoginOk == false && App.LoginFlag == true && SGCP.GWStatus == GW_STATUS_IDLE)//设备注册
|
else if(SGCP.LoginOk == false && App.LoginFlag == true && SGCP.GWStatus == GW_STATUS_IDLE)//设备注册
|
||||||
{
|
{
|
||||||
PrintfMess();
|
PrintfMess();
|
||||||
App.LoginFlag = false;
|
App.LoginFlag = false;
|
||||||
LPTimer0_OFF();//关闭低功耗定时器
|
LPTimer0_OFF();//关闭低功耗定时器
|
||||||
SGCP.GWStatus = GW_STATUS_LOGIN;//注册
|
SGCP.GWStatus = GW_STATUS_LOGIN;//注册
|
||||||
App.Status = APP_STATUS_WAIT_LOGIN;
|
App.Status = APP_STATUS_WAIT_LOGIN;
|
||||||
}
|
}
|
||||||
else if(SGCP.TimingAcquisition == true && App.RDStatus == READDATA_STATUS_IDLE)//设备数据获取
|
else if(SGCP.TimingAcquisition == true && App.RDStatus == READDATA_STATUS_IDLE)//设备数据获取
|
||||||
{
|
{
|
||||||
PrintfMess();
|
PrintfMess();
|
||||||
SGCP.TimingAcquisition = false;
|
SGCP.TimingAcquisition = false;
|
||||||
@@ -368,8 +368,8 @@ static void AppLoopHandler(void)
|
|||||||
{
|
{
|
||||||
PrintfMess();
|
PrintfMess();
|
||||||
App.UploadFlag = false;
|
App.UploadFlag = false;
|
||||||
LPTimer0_OFF();//关闭低功耗定时器
|
LPTimer0_OFF();//关闭低功耗定时器
|
||||||
SGCP.GWStatus = GW_STATUS_UPLOAD_SENSOR;//上传
|
SGCP.GWStatus = GW_STATUS_UPLOAD_SENSOR;//上传
|
||||||
App.Status = APP_STATUS_WAIT_UPLOAD;
|
App.Status = APP_STATUS_WAIT_UPLOAD;
|
||||||
}
|
}
|
||||||
else if(App.RDStatus == READDATA_STATUS_IDLE
|
else if(App.RDStatus == READDATA_STATUS_IDLE
|
||||||
@@ -380,7 +380,7 @@ static void AppLoopHandler(void)
|
|||||||
&& App.ReadData1mSDelayCnt == 0
|
&& App.ReadData1mSDelayCnt == 0
|
||||||
&& SGCP.LaserOnOff == false)
|
&& SGCP.LaserOnOff == false)
|
||||||
{
|
{
|
||||||
//App.Status = APP_STATUS_ACTION;//持续工作
|
//App.Status = APP_STATUS_ACTION;//持续工作
|
||||||
App.Status = APP_STATUS_OFF;
|
App.Status = APP_STATUS_OFF;
|
||||||
}
|
}
|
||||||
break;}
|
break;}
|
||||||
@@ -398,14 +398,14 @@ static void AppLoopHandler(void)
|
|||||||
MAIN_DBG_LOG("Login RTC Open\r\n");
|
MAIN_DBG_LOG("Login RTC Open\r\n");
|
||||||
App.Login2Min30SCount = 0;
|
App.Login2Min30SCount = 0;
|
||||||
App.Login30MinCount = 0;
|
App.Login30MinCount = 0;
|
||||||
App.Login_RTC = true;//启动30分注册定时器
|
App.Login_RTC = true;//启动30分注册定时器
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PrintfMess();
|
PrintfMess();
|
||||||
App.Login_LPTimer0 = true;
|
App.Login_LPTimer0 = true;
|
||||||
LPTimer0_ON((App.Nonce % 1200) + 300);//定时30s+随机2分钟,最小间隙100ms
|
LPTimer0_ON((App.Nonce % 1200) + 300);//定时30s+随机2分钟,最小间隙100ms
|
||||||
//LPTimer0_ON(100);//定时10s
|
//LPTimer0_ON(100);//定时10s
|
||||||
MAIN_DBG_LOG("Number of registration failures:%d\r\n",App.Login2Min30SCount);
|
MAIN_DBG_LOG("Number of registration failures:%d\r\n",App.Login2Min30SCount);
|
||||||
MAIN_DBG_LOG("Login LPTimer0 Open\r\n");
|
MAIN_DBG_LOG("Login LPTimer0 Open\r\n");
|
||||||
}
|
}
|
||||||
@@ -430,23 +430,21 @@ static void AppLoopHandler(void)
|
|||||||
if(SGCP.UploadOk == false)
|
if(SGCP.UploadOk == false)
|
||||||
{
|
{
|
||||||
App.Upload45S10SCount++;
|
App.Upload45S10SCount++;
|
||||||
if((App.Upload45S10SCount%3) == 0)
|
if(App.Upload45S10SCount >= 3)
|
||||||
{
|
{
|
||||||
PrintfMess();
|
PrintfMess();
|
||||||
MAIN_DBG_LOG("Number of failed uploads:%d\r\n",App.Upload45S10SCount);
|
MAIN_DBG_LOG("Number of failed uploads:%d\r\n",App.Upload45S10SCount);
|
||||||
if(App.Upload45S10SCount >= 9)
|
MAIN_DBG_LOG("Resend registration information.\r\n");
|
||||||
{
|
App.Upload45S10SCount = 0;
|
||||||
MAIN_DBG_LOG("Resend registration information.\r\n");
|
SGCP.LoginOk = false;
|
||||||
SGCP.LoginOk = false;
|
App.LoginFlag = true;
|
||||||
App.LoginFlag = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PrintfMess();
|
PrintfMess();
|
||||||
App.Upload_LPTimer0 = true;
|
App.Upload_LPTimer0 = true;
|
||||||
LPTimer0_ON((App.Nonce % 100) + 45);//随机延时100~10000ms+45秒后重新发送
|
LPTimer0_ON((App.Nonce % 100) + 450);//随机延时100~10000ms+45秒后重新发送
|
||||||
//LPTimer0_ON(100);//定时10s
|
//LPTimer0_ON(100);//定时10s
|
||||||
MAIN_DBG_LOG("Number of failed uploads:%d\r\n",App.Upload45S10SCount);
|
MAIN_DBG_LOG("Number of failed uploads:%d\r\n",App.Upload45S10SCount);
|
||||||
MAIN_DBG_LOG("Upload LPTimer0 Open\r\n");
|
MAIN_DBG_LOG("Upload LPTimer0 Open\r\n");
|
||||||
}
|
}
|
||||||
@@ -482,7 +480,7 @@ void FeedDogHandler(void)
|
|||||||
|
|
||||||
void SystemResetHandler(void)
|
void SystemResetHandler(void)
|
||||||
{
|
{
|
||||||
//系统定时重启
|
//系统定时重启
|
||||||
if(App.SysResetTimeCnt > SYSTEM_TIMING_LOGIN) {
|
if(App.SysResetTimeCnt > SYSTEM_TIMING_LOGIN) {
|
||||||
delay_ms(5);
|
delay_ms(5);
|
||||||
SystemReset();
|
SystemReset();
|
||||||
@@ -502,7 +500,7 @@ void SystemResetHandler(void)
|
|||||||
int32_t main(void)
|
int32_t main(void)
|
||||||
{
|
{
|
||||||
BspInit();
|
BspInit();
|
||||||
delay_ms(3000);//上电延时,等待从设备启动
|
delay_ms(3000);//上电延时,等待从设备启动
|
||||||
AppInit();
|
AppInit();
|
||||||
|
|
||||||
DBG_LOG("\r\n\r\n");
|
DBG_LOG("\r\n\r\n");
|
||||||
@@ -535,7 +533,7 @@ int32_t main(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* 中断回调函数
|
* 中断回调函数
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
void SysTick_CallBack(void)
|
void SysTick_CallBack(void)
|
||||||
{
|
{
|
||||||
@@ -548,19 +546,19 @@ void SysTick_CallBack(void)
|
|||||||
|
|
||||||
void RtcIRQHander(void)
|
void RtcIRQHander(void)
|
||||||
{
|
{
|
||||||
//SGCP.TimingAcquisition = true; //30S更新一次数据
|
//SGCP.TimingAcquisition = true; //30S更新一次数据
|
||||||
if(SGCP.LoginOk == true)
|
if(SGCP.LoginOk == true)
|
||||||
{
|
{
|
||||||
App.RepeLoginCount++;
|
App.RepeLoginCount++;
|
||||||
if(App.RepeLoginCount >= SYSTEM_TIMING_LOGIN){
|
if(App.RepeLoginCount >= SYSTEM_TIMING_LOGIN){
|
||||||
MAIN_DBG_LOG("24h Repetition Login\r\n");
|
MAIN_DBG_LOG("24h Repetition Login\r\n");
|
||||||
App.RepeLoginCount = 0;
|
App.RepeLoginCount = 0;
|
||||||
SGCP.LoginOk = false;//24h重复注册
|
SGCP.LoginOk = false;//24h重复注册
|
||||||
App.Login2Min30SCount = 0;
|
App.Login2Min30SCount = 0;
|
||||||
App.Login30MinCount = 0;
|
App.Login30MinCount = 0;
|
||||||
App.Login_RTC = false;//关闭30分注册定时器
|
App.Login_RTC = false;//关闭30分注册定时器
|
||||||
|
|
||||||
LPTimer0_ON((App.Nonce % 1200) + 300);//定时30s+随机2分钟,最小间隙100ms
|
LPTimer0_ON((App.Nonce % 1200) + 300);//定时30s+随机2分钟,最小间隙100ms
|
||||||
MAIN_DBG_LOG("Login LPTimer0 Open\r\n");
|
MAIN_DBG_LOG("Login LPTimer0 Open\r\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -568,7 +566,7 @@ void RtcIRQHander(void)
|
|||||||
if(App.Coll_N >= App.Para.Layout.CollectTime)
|
if(App.Coll_N >= App.Para.Layout.CollectTime)
|
||||||
{
|
{
|
||||||
App.Coll_N = 0;
|
App.Coll_N = 0;
|
||||||
SGCP.TimingAcquisition = true; //定时更新数据
|
SGCP.TimingAcquisition = true; //定时更新数据
|
||||||
}
|
}
|
||||||
|
|
||||||
if(App.ERFlag == true)
|
if(App.ERFlag == true)
|
||||||
@@ -584,7 +582,7 @@ void RtcIRQHander(void)
|
|||||||
{
|
{
|
||||||
App.ERTime_N = 0;
|
App.ERTime_N = 0;
|
||||||
App.ERFlag = false;
|
App.ERFlag = false;
|
||||||
SGCP.MasterCaliOk = true;//紧急上报时间结束,重新校准参数
|
SGCP.MasterCaliOk = true;//紧急上报时间结束,重新校准参数
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@@ -600,16 +598,16 @@ void RtcIRQHander(void)
|
|||||||
if(App.Login_RTC == true)
|
if(App.Login_RTC == true)
|
||||||
{
|
{
|
||||||
App.Login30MinCount++;
|
App.Login30MinCount++;
|
||||||
if(App.Login30MinCount >= ERR_TIMING_LOGIN)//30分钟重置注册错误信息
|
if(App.Login30MinCount >= ERR_TIMING_LOGIN)//30分钟重置注册错误信息
|
||||||
{
|
{
|
||||||
PrintfMess();
|
PrintfMess();
|
||||||
App.Login30MinCount = 0;
|
App.Login30MinCount = 0;
|
||||||
App.Login_RTC = false;//关闭30分注册定时器
|
App.Login_RTC = false;//关闭30分注册定时器
|
||||||
MAIN_DBG_LOG("Login RTC Close\r\n");
|
MAIN_DBG_LOG("Login RTC Close\r\n");
|
||||||
|
|
||||||
App.Login_LPTimer0 = true;
|
App.Login_LPTimer0 = true;
|
||||||
LPTimer0_ON((App.Nonce % 1200) + 300);//定时30s+随机2分钟,最小间隙100ms
|
LPTimer0_ON((App.Nonce % 1200) + 300);//定时30s+随机2分钟,最小间隙100ms
|
||||||
//LPTimer0_ON(100);//定时10s
|
//LPTimer0_ON(100);//定时10s
|
||||||
MAIN_DBG_LOG("Login LPTimer0 Open\r\n");
|
MAIN_DBG_LOG("Login LPTimer0 Open\r\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user