소스 검색

1.尾灯添加模式5(开灯常亮)和模式6(设置超速阈值超速报警)
2.在用户参数2结构体添加超速阈值和尾灯控制高电平系数以及尾灯控制分频系数

leechard.li 2 년 전
부모
커밋
67bd5d2bcf

+ 1 - 1
Core/Inc/main.h

@@ -50,7 +50,7 @@
 /* Private define ------------------------------------------------------------*/
 #define DEBUG 1
 #define NormalWork 1
-#define BaudRate250K 0
+#define BaudRate250K 1
 #define BREAK_IN_Pin GPIO_PIN_12
 #define BREAK_IN_GPIO_Port GPIOB
 #define BREAK_IN_EXTI_IRQn EXTI15_10_IRQn

+ 6 - 3
MDK-ARM/QD007A_CTL_APP.uvprojx

@@ -10,12 +10,13 @@
       <TargetName>QD007A_CTL_APP</TargetName>
       <ToolsetNumber>0x4</ToolsetNumber>
       <ToolsetName>ARM-ADS</ToolsetName>
-      <pCCUsed>5060422::V5.06 update 4 (build 422)::ARMCC</pCCUsed>
+      <pCCUsed>5060750::V5.06 update 6 (build 750)::ARMCC</pCCUsed>
+      <uAC6>0</uAC6>
       <TargetOption>
         <TargetCommonOption>
           <Device>STM32F103RB</Device>
           <Vendor>STMicroelectronics</Vendor>
-          <PackID>Keil.STM32F1xx_DFP.2.3.0</PackID>
+          <PackID>Keil.STM32F1xx_DFP.1.1.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>
@@ -81,7 +82,7 @@
           <AfterMake>
             <RunUserProg1>1</RunUserProg1>
             <RunUserProg2>1</RunUserProg2>
-            <UserProg1Name>C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bincombined  --output ./bin/QD007A_CTL_APP.bin ./QD007A_CTL_APP/QD007A_CTL_APP.axf</UserProg1Name>
+            <UserProg1Name>D:\Software\Dev\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bincombined  --output ./bin/QD007A_CTL_APP.bin ./QD007A_CTL_APP/QD007A_CTL_APP.axf</UserProg1Name>
             <UserProg2Name>.\crc_gen_keil.bat</UserProg2Name>
             <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
             <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
@@ -183,6 +184,7 @@
             <hadXRAM>0</hadXRAM>
             <uocXRam>0</uocXRam>
             <RvdsVP>0</RvdsVP>
+            <RvdsMve>0</RvdsMve>
             <hadIRAM2>0</hadIRAM2>
             <hadIROM2>0</hadIROM2>
             <StupSel>8</StupSel>
@@ -323,6 +325,7 @@
             <uThumb>0</uThumb>
             <uSurpInc>0</uSurpInc>
             <uC99>1</uC99>
+            <uGnu>0</uGnu>
             <useXO>0</useXO>
             <v6Lang>0</v6Lang>
             <v6LangP>0</v6LangP>

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1632 - 1632
MDK-ARM/QD007A_CTL_APP/QD007A_CTL_APP_CRC.hex


+ 2 - 1
MDK-ARM/RTE/_QD007A_CTL_APP/RTE_Components.h

@@ -1,6 +1,6 @@
 
 /*
- * Auto generated Run-Time-Environment Component Configuration File
+ * Auto generated Run-Time-Environment Configuration File
  *      *** Do not modify ! ***
  *
  * Project: 'QD007A_CTL_APP' 
@@ -17,4 +17,5 @@
 #define CMSIS_device_header "stm32f10x.h"
 
 
+
 #endif /* RTE_COMPONENTS_H */

BIN
MDK-ARM/bin/QD007A_CTL_APP.bin


+ 5 - 5
MDK-ARM/startup_stm32f103xb.lst

@@ -524,11 +524,11 @@ ork --depend=.\qd007a_ctl_app\startup_stm32f103xb.d -o.\qd007a_ctl_app\startup_
 ARM Macro Assembler    Page 9 
 
 
-stm32f103xb.o -ID:\MOTINOVA\Motor\TTKZ019X\Volans\QD007E_CTRL_APP\MDK-ARM\RTE\_
-QD007A_CTL_APP -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\5.0.0\CMSIS\Include -IC:\Keil_v5
-\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include --predefine="__MICROLIB SETA 
-1" --predefine="__UVISION_VERSION SETA 522" --predefine="_RTE_ SETA 1" --predef
-ine="STM32F10X_MD SETA 1" --list=startup_stm32f103xb.lst startup_stm32f103xb.s
+stm32f103xb.o -I.\RTE\_QD007A_CTL_APP -ID:\Software\Dev\Keil_v5\ARM\PACK\ARM\CM
+SIS\5.4.0\CMSIS\Core\Include -ID:\Software\Dev\Keil_v5\ARM\PACK\Keil\STM32F1xx_
+DFP\1.1.0\Device\Include --predefine="__MICROLIB SETA 1" --predefine="__UVISION
+_VERSION SETA 527" --predefine="_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1"
+ --list=startup_stm32f103xb.lst startup_stm32f103xb.s
 
 
 

+ 6 - 6
MDK-ARM/stm32f1xx_stucpuregsaddressing.lst

@@ -123,18 +123,18 @@ ARM Macro Assembler    Page 2
    99 00000096                 END
 Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
 ork --depend=.\qd007a_ctl_app\stm32f1xx_stucpuregsaddressing.d -o.\qd007a_ctl_a
-pp\stm32f1xx_stucpuregsaddressing.o -ID:\MOTINOVA\Motor\TTKZ019X\Volans\QD007E_
-CTRL_APP\MDK-ARM\RTE\_QD007A_CTL_APP -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\5.0.0\CMSI
-S\Include -IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include --prede
-fine="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 522" --predefine="
-_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --list=stm32f1xx_stucpuregsaddr
+pp\stm32f1xx_stucpuregsaddressing.o -I.\RTE\_QD007A_CTL_APP -ID:\Software\Dev\K
+eil_v5\ARM\PACK\ARM\CMSIS\5.4.0\CMSIS\Core\Include -ID:\Software\Dev\Keil_v5\AR
+M\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include --predefine="__MICROLIB SETA 1" 
+--predefine="__UVISION_VERSION SETA 527" --predefine="_RTE_ SETA 1" --predefine
+="STM32F10X_MD SETA 1" --list=stm32f1xx_stucpuregsaddressing.lst ..\SelfTestUse
 
 
 
 ARM Macro Assembler    Page 3 
 
 
-essing.lst ..\SelfTestUser\src_specific\stm32f1xx_STUCpuRegsAddressing.s
+r\src_specific\stm32f1xx_STUCpuRegsAddressing.s
 
 
 

+ 6 - 6
MDK-ARM/stm32f1xx_stucpuwalkpatkeil.lst

@@ -1593,12 +1593,12 @@ ARM Macro Assembler    Page 25
  1172 000006D0                 END
 Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
 ork --depend=.\qd007a_ctl_app\stm32f1xx_stucpuwalkpatkeil.d -o.\qd007a_ctl_app\
-stm32f1xx_stucpuwalkpatkeil.o -ID:\MOTINOVA\Motor\TTKZ019X\Volans\QD007E_CTRL_A
-PP\MDK-ARM\RTE\_QD007A_CTL_APP -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\5.0.0\CMSIS\Incl
-ude -IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include --predefine="
-__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 522" --predefine="_RTE_ 
-SETA 1" --predefine="STM32F10X_MD SETA 1" --list=stm32f1xx_stucpuwalkpatkeil.ls
-t ..\SelfTestUser\src_specific\stm32f1xx_STUCpuWalkpatKEIL.s
+stm32f1xx_stucpuwalkpatkeil.o -I.\RTE\_QD007A_CTL_APP -ID:\Software\Dev\Keil_v5
+\ARM\PACK\ARM\CMSIS\5.4.0\CMSIS\Core\Include -ID:\Software\Dev\Keil_v5\ARM\PACK
+\Keil\STM32F1xx_DFP\1.1.0\Device\Include --predefine="__MICROLIB SETA 1" --pred
+efine="__UVISION_VERSION SETA 527" --predefine="_RTE_ SETA 1" --predefine="STM3
+2F10X_MD SETA 1" --list=stm32f1xx_stucpuwalkpatkeil.lst ..\SelfTestUser\src_spe
+cific\stm32f1xx_STUCpuWalkpatKEIL.s
 
 
 

+ 6 - 6
MDK-ARM/stm32f1xx_sturamwalkpatkeil.lst

@@ -430,12 +430,12 @@ ARM Macro Assembler    Page 7
   331 000001F2                 END
 Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
 ork --depend=.\qd007a_ctl_app\stm32f1xx_sturamwalkpatkeil.d -o.\qd007a_ctl_app\
-stm32f1xx_sturamwalkpatkeil.o -ID:\MOTINOVA\Motor\TTKZ019X\Volans\QD007E_CTRL_A
-PP\MDK-ARM\RTE\_QD007A_CTL_APP -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\5.0.0\CMSIS\Incl
-ude -IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include --predefine="
-__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 522" --predefine="_RTE_ 
-SETA 1" --predefine="STM32F10X_MD SETA 1" --list=stm32f1xx_sturamwalkpatkeil.ls
-t ..\SelfTestUser\src_specific\stm32f1xx_STURamWalkpatKEIL.s
+stm32f1xx_sturamwalkpatkeil.o -I.\RTE\_QD007A_CTL_APP -ID:\Software\Dev\Keil_v5
+\ARM\PACK\ARM\CMSIS\5.4.0\CMSIS\Core\Include -ID:\Software\Dev\Keil_v5\ARM\PACK
+\Keil\STM32F1xx_DFP\1.1.0\Device\Include --predefine="__MICROLIB SETA 1" --pred
+efine="__UVISION_VERSION SETA 527" --predefine="_RTE_ SETA 1" --predefine="STM3
+2F10X_MD SETA 1" --list=stm32f1xx_sturamwalkpatkeil.lst ..\SelfTestUser\src_spe
+cific\stm32f1xx_STURamWalkpatKEIL.s
 
 
 

+ 7 - 2
User/Inc/var.h

@@ -154,7 +154,9 @@ typedef enum MC_TAIL_LIGHT_MODE
   MC_TAIL_LIGHT_MODE1 = (uint8_t)0x01,  //模式1,连接尾灯,开灯时低亮,刹车时高亮
 	MC_TAIL_LIGHT_MODE2 = (uint8_t)0x02,  //模式2,连接尾灯,开灯时高亮,刹车时闪烁
 	MC_TAIL_LIGHT_MODE3 = (uint8_t)0x03,  //模式3,连接刹车灯,刹车时高亮
-	MC_TAIL_LIGHT_MODE4 = (uint8_t)0x04   //模式4,连接刹车灯,刹车时闪烁
+	MC_TAIL_LIGHT_MODE4 = (uint8_t)0x04, 	//模式4,连接刹车灯,刹车时闪烁
+	MC_TAIL_LIGHT_MODE5 = (uint8_t)0x05,	//模式5,连接刹车灯常亮
+	MC_TAIL_LIGHT_MODE6 = (uint8_t)0x06   //模式6,超速报警
 }MC_TailLight_Mode_Struct_t;
 
 typedef enum MC_LIGHT_VOLTAGE
@@ -203,7 +205,10 @@ typedef struct
 	MC_TailLight_Mode_Struct_t MC_TailLight_Mode;  //尾灯功能,地址偏移5
 	MC_LightVoltage_Struct_t HeadLightVol;         //前灯电压
 	MC_LightVoltage_Struct_t TailLightVol;         //后灯电压
-	uint8_t RS2[24];             //地址偏移8
+	uint16_t u16OverspeedWarnVal;										//超速告警值
+	uint16_t u16EffectVal;													//尾灯亮起有效值
+	uint16_t u16Prediv;															//尾灯亮起时间的分频系数
+	uint8_t RS2[18];
 }MC_ConfigParam2_Struct_t;
 
 //姿态传感器数值

+ 36 - 4
User/Src/light_driver.c

@@ -1,4 +1,6 @@
 #include "light_driver.h"
+#include "speed_sensor.h"
+
 
 MC_LightDriver_IO_Struct_t HeadLightIO_Groups[3] = 
 {
@@ -117,8 +119,8 @@ void LightDriver_Process(MC_TailLight_Mode_Struct_t TailLight_Mode, MC_LightVolt
 	
 	//控制尾灯
 	static uint16_t FlashTimeCnt = 0;
-	uint16_t OnTime = 8;
-	uint16_t Period = 15;
+//	uint16_t OnTime = 8;
+//	uint16_t Period = 15;
 	switch(TailLight_Mode)
 	{
 	  case MC_TAIL_LIGHT_MODE1://连接尾灯,开灯时低亮,刹车时高亮
@@ -132,11 +134,11 @@ void LightDriver_Process(MC_TailLight_Mode_Struct_t TailLight_Mode, MC_LightVolt
 			{
 				if(LightSwitchCode == MC_LightSwitch_ON)
 				{
-					if(FlashTimeCnt < OnTime)
+					if(FlashTimeCnt < MC_ConfigParam2.u16EffectVal)
 					{
 						LightDriver_IO_Control(TailLightIO_Groups, sizeof(TailLightIO_Groups)/sizeof(MC_LightDriver_IO_Struct_t), TailLightIO_Groups_ID, MC_LightSwitch_ON);
 					}
-					else if(FlashTimeCnt < Period) //控制周期:15K / Period
+					else if(FlashTimeCnt < MC_ConfigParam2.u16Prediv) //控制周期:15K / Period
 					{
 						LightDriver_IO_Control(TailLightIO_Groups, sizeof(TailLightIO_Groups)/sizeof(MC_LightDriver_IO_Struct_t), TailLightIO_Groups_ID, MC_LightSwitch_OFF);
 					}
@@ -209,6 +211,36 @@ void LightDriver_Process(MC_TailLight_Mode_Struct_t TailLight_Mode, MC_LightVolt
 			}	
 			break;
 		}
+		case MC_TAIL_LIGHT_MODE5://模式5,常亮
+		{
+			LightDriver_IO_Control(TailLightIO_Groups, sizeof(TailLightIO_Groups)/sizeof(MC_LightDriver_IO_Struct_t), TailLightIO_Groups_ID, MC_LightSwitch_ON);
+			break;
+		}
+		case MC_TAIL_LIGHT_MODE6://超速报警
+		{
+			if(MC_SpeedSensorData.Speed_Data >= MC_ConfigParam2.u16OverspeedWarnVal)//速度超了  车速放了100倍  6S响1S:7500/45000 
+			{
+				if(FlashTimeCnt < MC_ConfigParam2.u16EffectVal)//响声执行
+				{
+					LightDriver_IO_Control(TailLightIO_Groups, sizeof(TailLightIO_Groups)/sizeof(MC_LightDriver_IO_Struct_t), TailLightIO_Groups_ID, MC_LightSwitch_ON);
+				}
+				else if(FlashTimeCnt < MC_ConfigParam2.u16Prediv) // 响声周期
+				{
+					LightDriver_IO_Control(TailLightIO_Groups, sizeof(TailLightIO_Groups)/sizeof(MC_LightDriver_IO_Struct_t), TailLightIO_Groups_ID, MC_LightSwitch_OFF);
+				}
+				else
+				{
+					FlashTimeCnt = 0;
+				}
+				FlashTimeCnt++;
+			}
+			else
+			{
+				FlashTimeCnt = 0;
+				LightDriver_IO_Control(TailLightIO_Groups, sizeof(TailLightIO_Groups)/sizeof(MC_LightDriver_IO_Struct_t), TailLightIO_Groups_ID, MC_LightSwitch_OFF);
+			}
+			break;
+		}
 	}
 }
 

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.