|
@@ -28,13 +28,30 @@ const char Hardware_VersionTable[9]={
|
|
|
void GetHardware_Versin(uint16_t VolaVal)
|
|
|
{
|
|
|
uint8_t Count;
|
|
|
- static _Bool VersionIdentifyExecuteFlag = FALSE;
|
|
|
+ static uint16_t timecount = 0;
|
|
|
+ static _Bool VersionIdentifyExecuteFlag = FALSE, FirstExecuteFlag = FALSE;
|
|
|
|
|
|
- if(HAL_GetTick() > 2000) //3s后开始识别
|
|
|
+ if(FirstExecuteFlag == FALSE)
|
|
|
+ {
|
|
|
+ FirstExecuteFlag = TRUE;
|
|
|
+ if( HAL_GetTick()>1800 ) timecount=HAL_GetTick()+200; //若初始化时间太长,硬件版本识别时间延后200ms
|
|
|
+ else timecount=2000;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(HAL_GetTick() > timecount) //2s后开始识别
|
|
|
{
|
|
|
if(VersionIdentifyExecuteFlag == FALSE)
|
|
|
{
|
|
|
VersionIdentifyExecuteFlag = TRUE;
|
|
|
+
|
|
|
+// strncpy(MC_VerInfo.FW_Version, (char*)" ", 16);
|
|
|
+// sprintf(&MC_VerInfo.FW_Version[0], "%4u", VolaVal);
|
|
|
+// if( IsComOK_TE.IsOK_Flag == TRUE ) MC_VerInfo.FW_Version[4] = 'Y';
|
|
|
+// else MC_VerInfo.FW_Version[4] = 'N';
|
|
|
+// sprintf(&MC_VerInfo.FW_Version[5], "%4u", MC_TE_SyncClockFreqScan);
|
|
|
+// MC_VerInfo.FW_Version[9] = ' ';
|
|
|
+// sprintf(&MC_VerInfo.FW_Version[10], "%5u", timecount);
|
|
|
+
|
|
|
if( (IsComOK_TE.IsOK_Flag == TRUE)||(MC_TE_SyncClockFreqScan>200)||((VolaVal>1986)&&(VolaVal<2110)) ) //有反相器和TE的电路板
|
|
|
{
|
|
|
MC_HallSensorData.InverterExistFlag = TRUE;
|