Quellcode durchsuchen

增加仪表和电池的心跳包,轮流定时1s发送。

Dail vor 1 Jahr
Ursprung
Commit
0069b4495e

+ 4 - 0
Core/Src/main.c

@@ -231,6 +231,7 @@ int main(void)
 			
 			//无码表模式初始化处理
 			NoPBUMode_Ini();	
+			
 			//CAN数据解析及处理
 			CanRx_Process();
 			
@@ -243,6 +244,9 @@ int main(void)
 			//UART设备通信状态检测
 			MC_UartRxCheck_Process();
 			
+			//CAN设备心跳包
+			Device_Handshake_Process();
+			
 			//速度传感器采集及计算
 			if(MC_ConfigParam1.SpeedSignal == MC_SPEED_CADENCE_CAL) //0xAA, 根据踏频估算
 			{

+ 7 - 2
MDK-ARM/QD007A_CTL_APP.uvprojx

@@ -14,6 +14,8 @@
         <TargetCommonOption>
           <Device>STM32F103RB</Device>
           <Vendor>STMicroelectronics</Vendor>
+          <PackID>Keil.STM32F1xx_DFP.2.3.0</PackID>
+          <PackURL>http://www.keil.com/pack/</PackURL>
           <Cpu>IROM(0x08000000,0x20000) IRAM(0x20000000,0x5000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE</Cpu>
           <FlashUtilSpec></FlashUtilSpec>
           <StartupFile></StartupFile>
@@ -82,6 +84,8 @@
             <UserProg2Name>.\crc_gen_keil.bat</UserProg2Name>
             <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
             <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopA1X>0</nStopA1X>
+            <nStopA2X>0</nStopA2X>
           </AfterMake>
           <SelectedForBatchBuild>0</SelectedForBatchBuild>
           <SVCSIdString></SVCSIdString>
@@ -143,7 +147,6 @@
             <RestoreToolbox>1</RestoreToolbox>
             <RestoreTracepoints>1</RestoreTracepoints>
             <RestoreSysVw>1</RestoreSysVw>
-            <UsePdscDebugDescription>1</UsePdscDebugDescription>
           </Target>
           <RunDebugAfterBuild>0</RunDebugAfterBuild>
           <TargetSelection>6</TargetSelection>
@@ -360,9 +363,11 @@
             <uSurpInc>0</uSurpInc>
             <uC99>1</uC99>
             <useXO>0</useXO>
+            <v6Lang>0</v6Lang>
+            <v6LangP>0</v6LangP>
             <VariousControls>
               <MiscControls></MiscControls>
-              <Define>USE_HAL_DRIVER,STM32F103xB,PEGASI_36V,BARD_250K</Define>
+              <Define>USE_HAL_DRIVER,STM32F103xB,PEGASI_48V,BARD_250K</Define>
               <Undefine></Undefine>
               <IncludePath>../Core/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32F1xx/Include;../Drivers/CMSIS/Include;..\User\Inc;..\SEGGER_RTT\Inc;..\SelfTestUser\Inc</IncludePath>
             </VariousControls>

Datei-Diff unterdrückt, da er zu groß ist
+ 2572 - 2572
MDK-ARM/QD007A_CTL_APP/QD007A_CTL_APP_CRC.hex


BIN
MDK-ARM/bin/QD007A_CTL_APP.bin


+ 24 - 0
User/Src/tasks.c

@@ -1074,4 +1074,28 @@ void BikeRatioCal_Process(uint16_t MotorSpeed, uint16_t Cadence, uint16_t BikeSp
 	  p_Bike_RatioCal->RatioResult = p_Bike_RatioCal->RatioFlt;
 	#endif
 }
+
+//设备心跳
+void Device_Handshake_Process(void)
+{
+	static uint32_t PeriodCnt = 0;
+	static uint8_t i = 0;
+	if((HAL_GetTick() - PeriodCnt) >= 500)
+	{
+ 	  PeriodCnt = HAL_GetTick();
+		if(i == 0)
+		{
+		  //BMS
+		  SendData(ID_MC_TO_BMS, MODE_READ, 0x3009, (uint8_t*)"HANDSHAKE");
+			i = 1;
+		}
+		else if(i == 1)
+		{
+		  //OBC
+		  SendData(ID_MC_TO_PBU, MODE_READ, 0x5009, (uint8_t*)"HANDSHAKE");
+			i = 0;
+		}
+		
+	}			
+}
 /**************************全局函数定义结束*****************/

+ 1 - 1
User/Src/var.c

@@ -695,7 +695,7 @@ void Var_Init(void)
 	MC_VerInfo.FW_Version[15] = '.';
   #endif
 	//Èí¼þ±êʶ
-	strncpy(Firmware_Special, (char*)"TC011000-MS0000-V0r0.           ", 32);
+	strncpy(Firmware_Special, (char*)"TC011000-MS0000-V0r1.           ", 32);
 	//±àÒëʱ¼ä
 	do
 	{

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.