#line 1 "..\\user\\src\\gpsnet.c" #line 1 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 75 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 107 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 122 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 143 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 162 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" typedef enum IRQn { NonMaskableInt_IRQn = -14, MemoryManagement_IRQn = -12, BusFault_IRQn = -11, UsageFault_IRQn = -10, SVCall_IRQn = -5, DebugMonitor_IRQn = -4, PendSV_IRQn = -2, SysTick_IRQn = -1, WWDG_IRQn = 0, PVD_IRQn = 1, TAMPER_IRQn = 2, RTC_IRQn = 3, FLASH_IRQn = 4, RCC_IRQn = 5, EXTI0_IRQn = 6, EXTI1_IRQn = 7, EXTI2_IRQn = 8, EXTI3_IRQn = 9, EXTI4_IRQn = 10, DMA1_Channel1_IRQn = 11, DMA1_Channel2_IRQn = 12, DMA1_Channel3_IRQn = 13, DMA1_Channel4_IRQn = 14, DMA1_Channel5_IRQn = 15, DMA1_Channel6_IRQn = 16, DMA1_Channel7_IRQn = 17, #line 221 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 242 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" ADC1_2_IRQn = 18, USB_HP_CAN1_TX_IRQn = 19, USB_LP_CAN1_RX0_IRQn = 20, CAN1_RX1_IRQn = 21, CAN1_SCE_IRQn = 22, EXTI9_5_IRQn = 23, TIM1_BRK_IRQn = 24, TIM1_UP_IRQn = 25, TIM1_TRG_COM_IRQn = 26, TIM1_CC_IRQn = 27, TIM2_IRQn = 28, TIM3_IRQn = 29, TIM4_IRQn = 30, I2C1_EV_IRQn = 31, I2C1_ER_IRQn = 32, I2C2_EV_IRQn = 33, I2C2_ER_IRQn = 34, SPI1_IRQn = 35, SPI2_IRQn = 36, USART1_IRQn = 37, USART2_IRQn = 38, USART3_IRQn = 39, EXTI15_10_IRQn = 40, RTCAlarm_IRQn = 41, USBWakeUp_IRQn = 42 #line 296 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 341 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 381 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 426 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 472 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" } IRQn_Type; #line 1 "..\\..\\template\\Libraries\\CMSIS\\core_cm3.h" #line 1 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdint.h" #line 27 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdint.h" #line 46 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdint.h" typedef signed char int8_t; typedef signed short int int16_t; typedef signed int int32_t; typedef signed __int64 int64_t; typedef unsigned char uint8_t; typedef unsigned short int uint16_t; typedef unsigned int uint32_t; typedef unsigned __int64 uint64_t; typedef signed char int_least8_t; typedef signed short int int_least16_t; typedef signed int int_least32_t; typedef signed __int64 int_least64_t; typedef unsigned char uint_least8_t; typedef unsigned short int uint_least16_t; typedef unsigned int uint_least32_t; typedef unsigned __int64 uint_least64_t; typedef signed int int_fast8_t; typedef signed int int_fast16_t; typedef signed int int_fast32_t; typedef signed __int64 int_fast64_t; typedef unsigned int uint_fast8_t; typedef unsigned int uint_fast16_t; typedef unsigned int uint_fast32_t; typedef unsigned __int64 uint_fast64_t; typedef signed int intptr_t; typedef unsigned int uintptr_t; typedef signed long long intmax_t; typedef unsigned long long uintmax_t; #line 216 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdint.h" #line 241 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdint.h" #line 305 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdint.h" #line 91 "..\\..\\template\\Libraries\\CMSIS\\core_cm3.h" #line 117 "..\\..\\template\\Libraries\\CMSIS\\core_cm3.h" typedef struct { volatile uint32_t ISER[8]; uint32_t RESERVED0[24]; volatile uint32_t ICER[8]; uint32_t RSERVED1[24]; volatile uint32_t ISPR[8]; uint32_t RESERVED2[24]; volatile uint32_t ICPR[8]; uint32_t RESERVED3[24]; volatile uint32_t IABR[8]; uint32_t RESERVED4[56]; volatile uint8_t IP[240]; uint32_t RESERVED5[644]; volatile uint32_t STIR; } NVIC_Type; typedef struct { volatile const uint32_t CPUID; volatile uint32_t ICSR; volatile uint32_t VTOR; volatile uint32_t AIRCR; volatile uint32_t SCR; volatile uint32_t CCR; volatile uint8_t SHP[12]; volatile uint32_t SHCSR; volatile uint32_t CFSR; volatile uint32_t HFSR; volatile uint32_t DFSR; volatile uint32_t MMFAR; volatile uint32_t BFAR; volatile uint32_t AFSR; volatile const uint32_t PFR[2]; volatile const uint32_t DFR; volatile const uint32_t ADR; volatile const uint32_t MMFR[4]; volatile const uint32_t ISAR[5]; } SCB_Type; typedef struct { volatile uint32_t CTRL; volatile uint32_t LOAD; volatile uint32_t VAL; volatile const uint32_t CALIB; } SysTick_Type; typedef struct { volatile union { volatile uint8_t u8; volatile uint16_t u16; volatile uint32_t u32; } PORT [32]; uint32_t RESERVED0[864]; volatile uint32_t TER; uint32_t RESERVED1[15]; volatile uint32_t TPR; uint32_t RESERVED2[15]; volatile uint32_t TCR; uint32_t RESERVED3[29]; volatile uint32_t IWR; volatile uint32_t IRR; volatile uint32_t IMCR; uint32_t RESERVED4[43]; volatile uint32_t LAR; volatile uint32_t LSR; uint32_t RESERVED5[6]; volatile const uint32_t PID4; volatile const uint32_t PID5; volatile const uint32_t PID6; volatile const uint32_t PID7; volatile const uint32_t PID0; volatile const uint32_t PID1; volatile const uint32_t PID2; volatile const uint32_t PID3; volatile const uint32_t CID0; volatile const uint32_t CID1; volatile const uint32_t CID2; volatile const uint32_t CID3; } ITM_Type; typedef struct { uint32_t RESERVED0; volatile const uint32_t ICTR; uint32_t RESERVED1; } InterruptType_Type; #line 614 "..\\..\\template\\Libraries\\CMSIS\\core_cm3.h" typedef struct { volatile uint32_t DHCSR; volatile uint32_t DCRSR; volatile uint32_t DCRDR; volatile uint32_t DEMCR; } CoreDebug_Type; #line 721 "..\\..\\template\\Libraries\\CMSIS\\core_cm3.h" #line 728 "..\\..\\template\\Libraries\\CMSIS\\core_cm3.h" #line 758 "..\\..\\template\\Libraries\\CMSIS\\core_cm3.h" #line 783 "..\\..\\template\\Libraries\\CMSIS\\core_cm3.h" extern uint32_t __get_PSP(void); extern void __set_PSP(uint32_t topOfProcStack); extern uint32_t __get_MSP(void); extern void __set_MSP(uint32_t topOfMainStack); extern uint32_t __REV16(uint16_t value); extern int32_t __REVSH(int16_t value); #line 933 "..\\..\\template\\Libraries\\CMSIS\\core_cm3.h" static __inline uint32_t __get_BASEPRI(void) { register uint32_t __regBasePri __asm("basepri"); return(__regBasePri); } static __inline void __set_BASEPRI(uint32_t basePri) { register uint32_t __regBasePri __asm("basepri"); __regBasePri = (basePri & 0xff); } static __inline uint32_t __get_PRIMASK(void) { register uint32_t __regPriMask __asm("primask"); return(__regPriMask); } static __inline void __set_PRIMASK(uint32_t priMask) { register uint32_t __regPriMask __asm("primask"); __regPriMask = (priMask); } static __inline uint32_t __get_FAULTMASK(void) { register uint32_t __regFaultMask __asm("faultmask"); return(__regFaultMask); } static __inline void __set_FAULTMASK(uint32_t faultMask) { register uint32_t __regFaultMask __asm("faultmask"); __regFaultMask = (faultMask & 1); } static __inline uint32_t __get_CONTROL(void) { register uint32_t __regControl __asm("control"); return(__regControl); } static __inline void __set_CONTROL(uint32_t control) { register uint32_t __regControl __asm("control"); __regControl = control; } #line 1445 "..\\..\\template\\Libraries\\CMSIS\\core_cm3.h" static __inline void NVIC_SetPriorityGrouping(uint32_t PriorityGroup) { uint32_t reg_value; uint32_t PriorityGroupTmp = (PriorityGroup & 0x07); reg_value = ((SCB_Type *) ((0xE000E000) + 0x0D00))->AIRCR; reg_value &= ~((0xFFFFul << 16) | (7ul << 8)); reg_value = (reg_value | (0x5FA << 16) | (PriorityGroupTmp << 8)); ((SCB_Type *) ((0xE000E000) + 0x0D00))->AIRCR = reg_value; } static __inline uint32_t NVIC_GetPriorityGrouping(void) { return ((((SCB_Type *) ((0xE000E000) + 0x0D00))->AIRCR & (7ul << 8)) >> 8); } static __inline void NVIC_EnableIRQ(IRQn_Type IRQn) { ((NVIC_Type *) ((0xE000E000) + 0x0100))->ISER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); } static __inline void NVIC_DisableIRQ(IRQn_Type IRQn) { ((NVIC_Type *) ((0xE000E000) + 0x0100))->ICER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); } static __inline uint32_t NVIC_GetPendingIRQ(IRQn_Type IRQn) { return((uint32_t) ((((NVIC_Type *) ((0xE000E000) + 0x0100))->ISPR[(uint32_t)(IRQn) >> 5] & (1 << ((uint32_t)(IRQn) & 0x1F)))?1:0)); } static __inline void NVIC_SetPendingIRQ(IRQn_Type IRQn) { ((NVIC_Type *) ((0xE000E000) + 0x0100))->ISPR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); } static __inline void NVIC_ClearPendingIRQ(IRQn_Type IRQn) { ((NVIC_Type *) ((0xE000E000) + 0x0100))->ICPR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F)); } static __inline uint32_t NVIC_GetActive(IRQn_Type IRQn) { return((uint32_t)((((NVIC_Type *) ((0xE000E000) + 0x0100))->IABR[(uint32_t)(IRQn) >> 5] & (1 << ((uint32_t)(IRQn) & 0x1F)))?1:0)); } static __inline void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) { if(IRQn < 0) { ((SCB_Type *) ((0xE000E000) + 0x0D00))->SHP[((uint32_t)(IRQn) & 0xF)-4] = ((priority << (8 - 4)) & 0xff); } else { ((NVIC_Type *) ((0xE000E000) + 0x0100))->IP[(uint32_t)(IRQn)] = ((priority << (8 - 4)) & 0xff); } } static __inline uint32_t NVIC_GetPriority(IRQn_Type IRQn) { if(IRQn < 0) { return((uint32_t)(((SCB_Type *) ((0xE000E000) + 0x0D00))->SHP[((uint32_t)(IRQn) & 0xF)-4] >> (8 - 4))); } else { return((uint32_t)(((NVIC_Type *) ((0xE000E000) + 0x0100))->IP[(uint32_t)(IRQn)] >> (8 - 4))); } } static __inline uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority) { uint32_t PriorityGroupTmp = (PriorityGroup & 0x07); uint32_t PreemptPriorityBits; uint32_t SubPriorityBits; PreemptPriorityBits = ((7 - PriorityGroupTmp) > 4) ? 4 : 7 - PriorityGroupTmp; SubPriorityBits = ((PriorityGroupTmp + 4) < 7) ? 0 : PriorityGroupTmp - 7 + 4; return ( ((PreemptPriority & ((1 << (PreemptPriorityBits)) - 1)) << SubPriorityBits) | ((SubPriority & ((1 << (SubPriorityBits )) - 1))) ); } static __inline void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* pPreemptPriority, uint32_t* pSubPriority) { uint32_t PriorityGroupTmp = (PriorityGroup & 0x07); uint32_t PreemptPriorityBits; uint32_t SubPriorityBits; PreemptPriorityBits = ((7 - PriorityGroupTmp) > 4) ? 4 : 7 - PriorityGroupTmp; SubPriorityBits = ((PriorityGroupTmp + 4) < 7) ? 0 : PriorityGroupTmp - 7 + 4; *pPreemptPriority = (Priority >> SubPriorityBits) & ((1 << (PreemptPriorityBits)) - 1); *pSubPriority = (Priority ) & ((1 << (SubPriorityBits )) - 1); } static __inline uint32_t SysTick_Config(uint32_t ticks) { if (ticks > (0xFFFFFFul << 0)) return (1); ((SysTick_Type *) ((0xE000E000) + 0x0010))->LOAD = (ticks & (0xFFFFFFul << 0)) - 1; NVIC_SetPriority (SysTick_IRQn, (1<<4) - 1); ((SysTick_Type *) ((0xE000E000) + 0x0010))->VAL = 0; ((SysTick_Type *) ((0xE000E000) + 0x0010))->CTRL = (1ul << 2) | (1ul << 1) | (1ul << 0); return (0); } static __inline void NVIC_SystemReset(void) { ((SCB_Type *) ((0xE000E000) + 0x0D00))->AIRCR = ((0x5FA << 16) | (((SCB_Type *) ((0xE000E000) + 0x0D00))->AIRCR & (7ul << 8)) | (1ul << 2)); __dsb(0); while(1); } extern volatile int ITM_RxBuffer; static __inline uint32_t ITM_SendChar (uint32_t ch) { if ((((CoreDebug_Type *) (0xE000EDF0))->DEMCR & (1ul << 24)) && (((ITM_Type *) (0xE0000000))->TCR & (1ul << 0)) && (((ITM_Type *) (0xE0000000))->TER & (1ul << 0) ) ) { while (((ITM_Type *) (0xE0000000))->PORT[0].u32 == 0); ((ITM_Type *) (0xE0000000))->PORT[0].u8 = (uint8_t) ch; } return (ch); } static __inline int ITM_ReceiveChar (void) { int ch = -1; if (ITM_RxBuffer != 0x5AA55AA5) { ch = ITM_RxBuffer; ITM_RxBuffer = 0x5AA55AA5; } return (ch); } static __inline int ITM_CheckChar (void) { if (ITM_RxBuffer == 0x5AA55AA5) { return (0); } else { return (1); } } #line 479 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 1 "..\\..\\template\\Libraries\\CMSIS\\system_stm32f10x.h" extern uint32_t SystemCoreClock; extern void SystemInit(void); extern void SystemCoreClockUpdate(void); #line 480 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 481 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" typedef int32_t s32; typedef int16_t s16; typedef int8_t s8; typedef const int32_t sc32; typedef const int16_t sc16; typedef const int8_t sc8; typedef volatile int32_t vs32; typedef volatile int16_t vs16; typedef volatile int8_t vs8; typedef volatile const int32_t vsc32; typedef volatile const int16_t vsc16; typedef volatile const int8_t vsc8; typedef uint32_t u32; typedef uint16_t u16; typedef uint8_t u8; typedef const uint32_t uc32; typedef const uint16_t uc16; typedef const uint8_t uc8; typedef volatile uint32_t vu32; typedef volatile uint16_t vu16; typedef volatile uint8_t vu8; typedef volatile const uint32_t vuc32; typedef volatile const uint16_t vuc16; typedef volatile const uint8_t vuc8; typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus; typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState; typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus; typedef struct { volatile uint32_t SR; volatile uint32_t CR1; volatile uint32_t CR2; volatile uint32_t SMPR1; volatile uint32_t SMPR2; volatile uint32_t JOFR1; volatile uint32_t JOFR2; volatile uint32_t JOFR3; volatile uint32_t JOFR4; volatile uint32_t HTR; volatile uint32_t LTR; volatile uint32_t SQR1; volatile uint32_t SQR2; volatile uint32_t SQR3; volatile uint32_t JSQR; volatile uint32_t JDR1; volatile uint32_t JDR2; volatile uint32_t JDR3; volatile uint32_t JDR4; volatile uint32_t DR; } ADC_TypeDef; typedef struct { uint32_t RESERVED0; volatile uint16_t DR1; uint16_t RESERVED1; volatile uint16_t DR2; uint16_t RESERVED2; volatile uint16_t DR3; uint16_t RESERVED3; volatile uint16_t DR4; uint16_t RESERVED4; volatile uint16_t DR5; uint16_t RESERVED5; volatile uint16_t DR6; uint16_t RESERVED6; volatile uint16_t DR7; uint16_t RESERVED7; volatile uint16_t DR8; uint16_t RESERVED8; volatile uint16_t DR9; uint16_t RESERVED9; volatile uint16_t DR10; uint16_t RESERVED10; volatile uint16_t RTCCR; uint16_t RESERVED11; volatile uint16_t CR; uint16_t RESERVED12; volatile uint16_t CSR; uint16_t RESERVED13[5]; volatile uint16_t DR11; uint16_t RESERVED14; volatile uint16_t DR12; uint16_t RESERVED15; volatile uint16_t DR13; uint16_t RESERVED16; volatile uint16_t DR14; uint16_t RESERVED17; volatile uint16_t DR15; uint16_t RESERVED18; volatile uint16_t DR16; uint16_t RESERVED19; volatile uint16_t DR17; uint16_t RESERVED20; volatile uint16_t DR18; uint16_t RESERVED21; volatile uint16_t DR19; uint16_t RESERVED22; volatile uint16_t DR20; uint16_t RESERVED23; volatile uint16_t DR21; uint16_t RESERVED24; volatile uint16_t DR22; uint16_t RESERVED25; volatile uint16_t DR23; uint16_t RESERVED26; volatile uint16_t DR24; uint16_t RESERVED27; volatile uint16_t DR25; uint16_t RESERVED28; volatile uint16_t DR26; uint16_t RESERVED29; volatile uint16_t DR27; uint16_t RESERVED30; volatile uint16_t DR28; uint16_t RESERVED31; volatile uint16_t DR29; uint16_t RESERVED32; volatile uint16_t DR30; uint16_t RESERVED33; volatile uint16_t DR31; uint16_t RESERVED34; volatile uint16_t DR32; uint16_t RESERVED35; volatile uint16_t DR33; uint16_t RESERVED36; volatile uint16_t DR34; uint16_t RESERVED37; volatile uint16_t DR35; uint16_t RESERVED38; volatile uint16_t DR36; uint16_t RESERVED39; volatile uint16_t DR37; uint16_t RESERVED40; volatile uint16_t DR38; uint16_t RESERVED41; volatile uint16_t DR39; uint16_t RESERVED42; volatile uint16_t DR40; uint16_t RESERVED43; volatile uint16_t DR41; uint16_t RESERVED44; volatile uint16_t DR42; uint16_t RESERVED45; } BKP_TypeDef; typedef struct { volatile uint32_t TIR; volatile uint32_t TDTR; volatile uint32_t TDLR; volatile uint32_t TDHR; } CAN_TxMailBox_TypeDef; typedef struct { volatile uint32_t RIR; volatile uint32_t RDTR; volatile uint32_t RDLR; volatile uint32_t RDHR; } CAN_FIFOMailBox_TypeDef; typedef struct { volatile uint32_t FR1; volatile uint32_t FR2; } CAN_FilterRegister_TypeDef; typedef struct { volatile uint32_t MCR; volatile uint32_t MSR; volatile uint32_t TSR; volatile uint32_t RF0R; volatile uint32_t RF1R; volatile uint32_t IER; volatile uint32_t ESR; volatile uint32_t BTR; uint32_t RESERVED0[88]; CAN_TxMailBox_TypeDef sTxMailBox[3]; CAN_FIFOMailBox_TypeDef sFIFOMailBox[2]; uint32_t RESERVED1[12]; volatile uint32_t FMR; volatile uint32_t FM1R; uint32_t RESERVED2; volatile uint32_t FS1R; uint32_t RESERVED3; volatile uint32_t FFA1R; uint32_t RESERVED4; volatile uint32_t FA1R; uint32_t RESERVED5[8]; CAN_FilterRegister_TypeDef sFilterRegister[14]; } CAN_TypeDef; typedef struct { volatile uint32_t CFGR; volatile uint32_t OAR; volatile uint32_t PRES; volatile uint32_t ESR; volatile uint32_t CSR; volatile uint32_t TXD; volatile uint32_t RXD; } CEC_TypeDef; typedef struct { volatile uint32_t DR; volatile uint8_t IDR; uint8_t RESERVED0; uint16_t RESERVED1; volatile uint32_t CR; } CRC_TypeDef; typedef struct { volatile uint32_t CR; volatile uint32_t SWTRIGR; volatile uint32_t DHR12R1; volatile uint32_t DHR12L1; volatile uint32_t DHR8R1; volatile uint32_t DHR12R2; volatile uint32_t DHR12L2; volatile uint32_t DHR8R2; volatile uint32_t DHR12RD; volatile uint32_t DHR12LD; volatile uint32_t DHR8RD; volatile uint32_t DOR1; volatile uint32_t DOR2; } DAC_TypeDef; typedef struct { volatile uint32_t IDCODE; volatile uint32_t CR; }DBGMCU_TypeDef; typedef struct { volatile uint32_t CCR; volatile uint32_t CNDTR; volatile uint32_t CPAR; volatile uint32_t CMAR; } DMA_Channel_TypeDef; typedef struct { volatile uint32_t ISR; volatile uint32_t IFCR; } DMA_TypeDef; typedef struct { volatile uint32_t MACCR; volatile uint32_t MACFFR; volatile uint32_t MACHTHR; volatile uint32_t MACHTLR; volatile uint32_t MACMIIAR; volatile uint32_t MACMIIDR; volatile uint32_t MACFCR; volatile uint32_t MACVLANTR; uint32_t RESERVED0[2]; volatile uint32_t MACRWUFFR; volatile uint32_t MACPMTCSR; uint32_t RESERVED1[2]; volatile uint32_t MACSR; volatile uint32_t MACIMR; volatile uint32_t MACA0HR; volatile uint32_t MACA0LR; volatile uint32_t MACA1HR; volatile uint32_t MACA1LR; volatile uint32_t MACA2HR; volatile uint32_t MACA2LR; volatile uint32_t MACA3HR; volatile uint32_t MACA3LR; uint32_t RESERVED2[40]; volatile uint32_t MMCCR; volatile uint32_t MMCRIR; volatile uint32_t MMCTIR; volatile uint32_t MMCRIMR; volatile uint32_t MMCTIMR; uint32_t RESERVED3[14]; volatile uint32_t MMCTGFSCCR; volatile uint32_t MMCTGFMSCCR; uint32_t RESERVED4[5]; volatile uint32_t MMCTGFCR; uint32_t RESERVED5[10]; volatile uint32_t MMCRFCECR; volatile uint32_t MMCRFAECR; uint32_t RESERVED6[10]; volatile uint32_t MMCRGUFCR; uint32_t RESERVED7[334]; volatile uint32_t PTPTSCR; volatile uint32_t PTPSSIR; volatile uint32_t PTPTSHR; volatile uint32_t PTPTSLR; volatile uint32_t PTPTSHUR; volatile uint32_t PTPTSLUR; volatile uint32_t PTPTSAR; volatile uint32_t PTPTTHR; volatile uint32_t PTPTTLR; uint32_t RESERVED8[567]; volatile uint32_t DMABMR; volatile uint32_t DMATPDR; volatile uint32_t DMARPDR; volatile uint32_t DMARDLAR; volatile uint32_t DMATDLAR; volatile uint32_t DMASR; volatile uint32_t DMAOMR; volatile uint32_t DMAIER; volatile uint32_t DMAMFBOCR; uint32_t RESERVED9[9]; volatile uint32_t DMACHTDR; volatile uint32_t DMACHRDR; volatile uint32_t DMACHTBAR; volatile uint32_t DMACHRBAR; } ETH_TypeDef; typedef struct { volatile uint32_t IMR; volatile uint32_t EMR; volatile uint32_t RTSR; volatile uint32_t FTSR; volatile uint32_t SWIER; volatile uint32_t PR; } EXTI_TypeDef; typedef struct { volatile uint32_t ACR; volatile uint32_t KEYR; volatile uint32_t OPTKEYR; volatile uint32_t SR; volatile uint32_t CR; volatile uint32_t AR; volatile uint32_t RESERVED; volatile uint32_t OBR; volatile uint32_t WRPR; #line 920 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" } FLASH_TypeDef; typedef struct { volatile uint16_t RDP; volatile uint16_t USER; volatile uint16_t Data0; volatile uint16_t Data1; volatile uint16_t WRP0; volatile uint16_t WRP1; volatile uint16_t WRP2; volatile uint16_t WRP3; } OB_TypeDef; typedef struct { volatile uint32_t BTCR[8]; } FSMC_Bank1_TypeDef; typedef struct { volatile uint32_t BWTR[7]; } FSMC_Bank1E_TypeDef; typedef struct { volatile uint32_t PCR2; volatile uint32_t SR2; volatile uint32_t PMEM2; volatile uint32_t PATT2; uint32_t RESERVED0; volatile uint32_t ECCR2; } FSMC_Bank2_TypeDef; typedef struct { volatile uint32_t PCR3; volatile uint32_t SR3; volatile uint32_t PMEM3; volatile uint32_t PATT3; uint32_t RESERVED0; volatile uint32_t ECCR3; } FSMC_Bank3_TypeDef; typedef struct { volatile uint32_t PCR4; volatile uint32_t SR4; volatile uint32_t PMEM4; volatile uint32_t PATT4; volatile uint32_t PIO4; } FSMC_Bank4_TypeDef; typedef struct { volatile uint32_t CRL; volatile uint32_t CRH; volatile uint32_t IDR; volatile uint32_t ODR; volatile uint32_t BSRR; volatile uint32_t BRR; volatile uint32_t LCKR; } GPIO_TypeDef; typedef struct { volatile uint32_t EVCR; volatile uint32_t MAPR; volatile uint32_t EXTICR[4]; uint32_t RESERVED0; volatile uint32_t MAPR2; } AFIO_TypeDef; typedef struct { volatile uint16_t CR1; uint16_t RESERVED0; volatile uint16_t CR2; uint16_t RESERVED1; volatile uint16_t OAR1; uint16_t RESERVED2; volatile uint16_t OAR2; uint16_t RESERVED3; volatile uint16_t DR; uint16_t RESERVED4; volatile uint16_t SR1; uint16_t RESERVED5; volatile uint16_t SR2; uint16_t RESERVED6; volatile uint16_t CCR; uint16_t RESERVED7; volatile uint16_t TRISE; uint16_t RESERVED8; } I2C_TypeDef; typedef struct { volatile uint32_t KR; volatile uint32_t PR; volatile uint32_t RLR; volatile uint32_t SR; } IWDG_TypeDef; typedef struct { volatile uint32_t CR; volatile uint32_t CSR; } PWR_TypeDef; typedef struct { volatile uint32_t CR; volatile uint32_t CFGR; volatile uint32_t CIR; volatile uint32_t APB2RSTR; volatile uint32_t APB1RSTR; volatile uint32_t AHBENR; volatile uint32_t APB2ENR; volatile uint32_t APB1ENR; volatile uint32_t BDCR; volatile uint32_t CSR; } RCC_TypeDef; typedef struct { volatile uint16_t CRH; uint16_t RESERVED0; volatile uint16_t CRL; uint16_t RESERVED1; volatile uint16_t PRLH; uint16_t RESERVED2; volatile uint16_t PRLL; uint16_t RESERVED3; volatile uint16_t DIVH; uint16_t RESERVED4; volatile uint16_t DIVL; uint16_t RESERVED5; volatile uint16_t CNTH; uint16_t RESERVED6; volatile uint16_t CNTL; uint16_t RESERVED7; volatile uint16_t ALRH; uint16_t RESERVED8; volatile uint16_t ALRL; uint16_t RESERVED9; } RTC_TypeDef; typedef struct { volatile uint32_t POWER; volatile uint32_t CLKCR; volatile uint32_t ARG; volatile uint32_t CMD; volatile const uint32_t RESPCMD; volatile const uint32_t RESP1; volatile const uint32_t RESP2; volatile const uint32_t RESP3; volatile const uint32_t RESP4; volatile uint32_t DTIMER; volatile uint32_t DLEN; volatile uint32_t DCTRL; volatile const uint32_t DCOUNT; volatile const uint32_t STA; volatile uint32_t ICR; volatile uint32_t MASK; uint32_t RESERVED0[2]; volatile const uint32_t FIFOCNT; uint32_t RESERVED1[13]; volatile uint32_t FIFO; } SDIO_TypeDef; typedef struct { volatile uint16_t CR1; uint16_t RESERVED0; volatile uint16_t CR2; uint16_t RESERVED1; volatile uint16_t SR; uint16_t RESERVED2; volatile uint16_t DR; uint16_t RESERVED3; volatile uint16_t CRCPR; uint16_t RESERVED4; volatile uint16_t RXCRCR; uint16_t RESERVED5; volatile uint16_t TXCRCR; uint16_t RESERVED6; volatile uint16_t I2SCFGR; uint16_t RESERVED7; volatile uint16_t I2SPR; uint16_t RESERVED8; } SPI_TypeDef; typedef struct { volatile uint16_t CR1; uint16_t RESERVED0; volatile uint16_t CR2; uint16_t RESERVED1; volatile uint16_t SMCR; uint16_t RESERVED2; volatile uint16_t DIER; uint16_t RESERVED3; volatile uint16_t SR; uint16_t RESERVED4; volatile uint16_t EGR; uint16_t RESERVED5; volatile uint16_t CCMR1; uint16_t RESERVED6; volatile uint16_t CCMR2; uint16_t RESERVED7; volatile uint16_t CCER; uint16_t RESERVED8; volatile uint16_t CNT; uint16_t RESERVED9; volatile uint16_t PSC; uint16_t RESERVED10; volatile uint16_t ARR; uint16_t RESERVED11; volatile uint16_t RCR; uint16_t RESERVED12; volatile uint16_t CCR1; uint16_t RESERVED13; volatile uint16_t CCR2; uint16_t RESERVED14; volatile uint16_t CCR3; uint16_t RESERVED15; volatile uint16_t CCR4; uint16_t RESERVED16; volatile uint16_t BDTR; uint16_t RESERVED17; volatile uint16_t DCR; uint16_t RESERVED18; volatile uint16_t DMAR; uint16_t RESERVED19; } TIM_TypeDef; typedef struct { volatile uint16_t SR; uint16_t RESERVED0; volatile uint16_t DR; uint16_t RESERVED1; volatile uint16_t BRR; uint16_t RESERVED2; volatile uint16_t CR1; uint16_t RESERVED3; volatile uint16_t CR2; uint16_t RESERVED4; volatile uint16_t CR3; uint16_t RESERVED5; volatile uint16_t GTPR; uint16_t RESERVED6; } USART_TypeDef; typedef struct { volatile uint32_t CR; volatile uint32_t CFR; volatile uint32_t SR; } WWDG_TypeDef; #line 1312 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 1335 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 1354 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 1454 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 1515 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 1691 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 1698 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 1734 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 1850 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 1870 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 1883 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 1902 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 1911 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 1919 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 1944 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 1976 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 1990 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 1997 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2007 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2043 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2051 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2076 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2108 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2122 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2129 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2139 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2178 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2273 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2300 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2462 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2480 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2498 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2515 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2533 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2552 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2579 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2654 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2685 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2700 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2709 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2718 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2727 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2742 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2751 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2760 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2769 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2784 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2793 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2802 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2811 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2826 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2835 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2844 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2853 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2862 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2871 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2881 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2945 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2980 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3015 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3050 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3085 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3152 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3176 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3192 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3214 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3229 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3236 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3285 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3307 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3329 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3351 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3373 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3395 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3431 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3461 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3471 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3495 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3519 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3543 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3567 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3591 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3615 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3716 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3725 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3748 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3883 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3890 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3897 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3904 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3918 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3925 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3932 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3939 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3946 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3953 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3961 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3968 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3975 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3982 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3989 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 3996 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 4004 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 4011 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 4018 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 4025 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 4167 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 4177 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 4225 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 4268 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 4282 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 4292 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 4411 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 4446 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 4457 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 4465 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 4472 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 4494 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 4556 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 4568 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 4606 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 4629 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 4652 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 4675 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5072 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5081 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5090 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5101 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5111 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5121 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5131 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5142 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5152 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5162 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5172 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5183 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5193 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5203 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5213 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5224 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5234 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5244 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5254 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5265 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5275 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5285 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5295 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5306 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5316 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5326 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5336 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5347 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5357 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5367 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5377 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5425 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5495 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5510 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5536 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5757 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5769 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5786 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5930 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5942 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5954 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5966 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5978 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 5990 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6002 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6014 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6028 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6040 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6052 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6064 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6076 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6088 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6100 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6112 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6124 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6136 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6148 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6160 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6172 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6184 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6196 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6208 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6228 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6239 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6257 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6295 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6316 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6456 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6473 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6490 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6507 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6541 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6575 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6609 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6643 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6677 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6711 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6745 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6779 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6813 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6847 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6881 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6915 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6949 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 6983 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7017 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7051 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7085 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7119 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7153 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7187 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7221 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7255 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7289 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7323 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7357 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7391 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7425 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7459 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7486 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7494 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7504 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7565 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7574 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7595 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7620 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7630 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7656 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7680 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7689 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7709 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7720 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7749 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7783 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 7823 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 8287 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 1 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_adc.h" #line 1 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 8327 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_adc.h" typedef struct { uint32_t ADC_Mode; FunctionalState ADC_ScanConvMode; FunctionalState ADC_ContinuousConvMode; uint32_t ADC_ExternalTrigConv; uint32_t ADC_DataAlign; uint8_t ADC_NbrOfChannel; }ADC_InitTypeDef; #line 104 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_adc.h" #line 115 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_adc.h" #line 129 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_adc.h" #line 139 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_adc.h" #line 154 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_adc.h" #line 192 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_adc.h" #line 205 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_adc.h" #line 229 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_adc.h" #line 266 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_adc.h" #line 282 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_adc.h" #line 297 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_adc.h" #line 305 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_adc.h" #line 338 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_adc.h" void ADC_DeInit(ADC_TypeDef* ADCx); void ADC_Init(ADC_TypeDef* ADCx, ADC_InitTypeDef* ADC_InitStruct); void ADC_StructInit(ADC_InitTypeDef* ADC_InitStruct); void ADC_Cmd(ADC_TypeDef* ADCx, FunctionalState NewState); void ADC_DMACmd(ADC_TypeDef* ADCx, FunctionalState NewState); void ADC_ITConfig(ADC_TypeDef* ADCx, uint16_t ADC_IT, FunctionalState NewState); void ADC_ResetCalibration(ADC_TypeDef* ADCx); FlagStatus ADC_GetResetCalibrationStatus(ADC_TypeDef* ADCx); void ADC_StartCalibration(ADC_TypeDef* ADCx); FlagStatus ADC_GetCalibrationStatus(ADC_TypeDef* ADCx); void ADC_SoftwareStartConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState); FlagStatus ADC_GetSoftwareStartConvStatus(ADC_TypeDef* ADCx); void ADC_DiscModeChannelCountConfig(ADC_TypeDef* ADCx, uint8_t Number); void ADC_DiscModeCmd(ADC_TypeDef* ADCx, FunctionalState NewState); void ADC_RegularChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel, uint8_t Rank, uint8_t ADC_SampleTime); void ADC_ExternalTrigConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState); uint16_t ADC_GetConversionValue(ADC_TypeDef* ADCx); uint32_t ADC_GetDualModeConversionValue(void); void ADC_AutoInjectedConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState); void ADC_InjectedDiscModeCmd(ADC_TypeDef* ADCx, FunctionalState NewState); void ADC_ExternalTrigInjectedConvConfig(ADC_TypeDef* ADCx, uint32_t ADC_ExternalTrigInjecConv); void ADC_ExternalTrigInjectedConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState); void ADC_SoftwareStartInjectedConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState); FlagStatus ADC_GetSoftwareStartInjectedConvCmdStatus(ADC_TypeDef* ADCx); void ADC_InjectedChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel, uint8_t Rank, uint8_t ADC_SampleTime); void ADC_InjectedSequencerLengthConfig(ADC_TypeDef* ADCx, uint8_t Length); void ADC_SetInjectedOffset(ADC_TypeDef* ADCx, uint8_t ADC_InjectedChannel, uint16_t Offset); uint16_t ADC_GetInjectedConversionValue(ADC_TypeDef* ADCx, uint8_t ADC_InjectedChannel); void ADC_AnalogWatchdogCmd(ADC_TypeDef* ADCx, uint32_t ADC_AnalogWatchdog); void ADC_AnalogWatchdogThresholdsConfig(ADC_TypeDef* ADCx, uint16_t HighThreshold, uint16_t LowThreshold); void ADC_AnalogWatchdogSingleChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel); void ADC_TempSensorVrefintCmd(FunctionalState NewState); FlagStatus ADC_GetFlagStatus(ADC_TypeDef* ADCx, uint8_t ADC_FLAG); void ADC_ClearFlag(ADC_TypeDef* ADCx, uint8_t ADC_FLAG); ITStatus ADC_GetITStatus(ADC_TypeDef* ADCx, uint16_t ADC_IT); void ADC_ClearITPendingBit(ADC_TypeDef* ADCx, uint16_t ADC_IT); #line 29 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_bkp.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_bkp.h" #line 78 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_bkp.h" #line 128 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_bkp.h" #line 143 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_bkp.h" void BKP_DeInit(void); void BKP_TamperPinLevelConfig(uint16_t BKP_TamperPinLevel); void BKP_TamperPinCmd(FunctionalState NewState); void BKP_ITConfig(FunctionalState NewState); void BKP_RTCOutputConfig(uint16_t BKP_RTCOutputSource); void BKP_SetRTCCalibrationValue(uint8_t CalibrationValue); void BKP_WriteBackupRegister(uint16_t BKP_DR, uint16_t Data); uint16_t BKP_ReadBackupRegister(uint16_t BKP_DR); FlagStatus BKP_GetFlagStatus(void); void BKP_ClearFlag(void); ITStatus BKP_GetITStatus(void); void BKP_ClearITPendingBit(void); #line 30 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_can.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_can.h" typedef struct { uint16_t CAN_Prescaler; uint8_t CAN_Mode; uint8_t CAN_SJW; uint8_t CAN_BS1; uint8_t CAN_BS2; FunctionalState CAN_TTCM; FunctionalState CAN_ABOM; FunctionalState CAN_AWUM; FunctionalState CAN_NART; FunctionalState CAN_RFLM; FunctionalState CAN_TXFP; } CAN_InitTypeDef; typedef struct { uint16_t CAN_FilterIdHigh; uint16_t CAN_FilterIdLow; uint16_t CAN_FilterMaskIdHigh; uint16_t CAN_FilterMaskIdLow; uint16_t CAN_FilterFIFOAssignment; uint8_t CAN_FilterNumber; uint8_t CAN_FilterMode; uint8_t CAN_FilterScale; FunctionalState CAN_FilterActivation; } CAN_FilterInitTypeDef; typedef struct { uint32_t StdId; uint32_t ExtId; uint8_t IDE; uint8_t RTR; uint8_t DLC; uint8_t Data[8]; } CanTxMsg; typedef struct { uint32_t StdId; uint32_t ExtId; uint8_t IDE; uint8_t RTR; uint8_t DLC; uint8_t Data[8]; uint8_t FMI; } CanRxMsg; #line 301 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_can.h" #line 319 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_can.h" #line 493 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_can.h" #line 518 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_can.h" #line 539 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_can.h" #line 565 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_can.h" #line 590 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_can.h" #line 597 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_can.h" #line 621 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_can.h" void CAN_DeInit(CAN_TypeDef* CANx); uint8_t CAN_Init(CAN_TypeDef* CANx, CAN_InitTypeDef* CAN_InitStruct); void CAN_FilterInit(CAN_FilterInitTypeDef* CAN_FilterInitStruct); void CAN_StructInit(CAN_InitTypeDef* CAN_InitStruct); void CAN_SlaveStartBank(uint8_t CAN_BankNumber); void CAN_DBGFreeze(CAN_TypeDef* CANx, FunctionalState NewState); void CAN_TTComModeCmd(CAN_TypeDef* CANx, FunctionalState NewState); uint8_t CAN_Transmit(CAN_TypeDef* CANx, CanTxMsg* TxMessage); uint8_t CAN_TransmitStatus(CAN_TypeDef* CANx, uint8_t TransmitMailbox); void CAN_CancelTransmit(CAN_TypeDef* CANx, uint8_t Mailbox); void CAN_Receive(CAN_TypeDef* CANx, uint8_t FIFONumber, CanRxMsg* RxMessage); void CAN_FIFORelease(CAN_TypeDef* CANx, uint8_t FIFONumber); uint8_t CAN_MessagePending(CAN_TypeDef* CANx, uint8_t FIFONumber); uint8_t CAN_OperatingModeRequest(CAN_TypeDef* CANx, uint8_t CAN_OperatingMode); uint8_t CAN_Sleep(CAN_TypeDef* CANx); uint8_t CAN_WakeUp(CAN_TypeDef* CANx); uint8_t CAN_GetLastErrorCode(CAN_TypeDef* CANx); uint8_t CAN_GetReceiveErrorCounter(CAN_TypeDef* CANx); uint8_t CAN_GetLSBTransmitErrorCounter(CAN_TypeDef* CANx); void CAN_ITConfig(CAN_TypeDef* CANx, uint32_t CAN_IT, FunctionalState NewState); FlagStatus CAN_GetFlagStatus(CAN_TypeDef* CANx, uint32_t CAN_FLAG); void CAN_ClearFlag(CAN_TypeDef* CANx, uint32_t CAN_FLAG); ITStatus CAN_GetITStatus(CAN_TypeDef* CANx, uint32_t CAN_IT); void CAN_ClearITPendingBit(CAN_TypeDef* CANx, uint32_t CAN_IT); #line 31 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_cec.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_cec.h" typedef struct { uint16_t CEC_BitTimingMode; uint16_t CEC_BitPeriodMode; }CEC_InitTypeDef; #line 100 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_cec.h" #line 136 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_cec.h" #line 147 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_cec.h" #line 157 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_cec.h" void CEC_DeInit(void); void CEC_Init(CEC_InitTypeDef* CEC_InitStruct); void CEC_Cmd(FunctionalState NewState); void CEC_ITConfig(FunctionalState NewState); void CEC_OwnAddressConfig(uint8_t CEC_OwnAddress); void CEC_SetPrescaler(uint16_t CEC_Prescaler); void CEC_SendDataByte(uint8_t Data); uint8_t CEC_ReceiveDataByte(void); void CEC_StartOfMessage(void); void CEC_EndOfMessageCmd(FunctionalState NewState); FlagStatus CEC_GetFlagStatus(uint32_t CEC_FLAG); void CEC_ClearFlag(uint32_t CEC_FLAG); ITStatus CEC_GetITStatus(uint8_t CEC_IT); void CEC_ClearITPendingBit(uint16_t CEC_IT); #line 32 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_crc.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_crc.h" void CRC_ResetDR(void); uint32_t CRC_CalcCRC(uint32_t Data); uint32_t CRC_CalcBlockCRC(uint32_t pBuffer[], uint32_t BufferLength); uint32_t CRC_GetCRC(void); void CRC_SetIDRegister(uint8_t IDValue); uint8_t CRC_GetIDRegister(void); #line 33 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dac.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dac.h" typedef struct { uint32_t DAC_Trigger; uint32_t DAC_WaveGeneration; uint32_t DAC_LFSRUnmask_TriangleAmplitude; uint32_t DAC_OutputBuffer; }DAC_InitTypeDef; #line 94 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dac.h" #line 104 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dac.h" #line 119 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dac.h" #line 151 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dac.h" #line 176 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dac.h" #line 214 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dac.h" #line 261 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dac.h" void DAC_DeInit(void); void DAC_Init(uint32_t DAC_Channel, DAC_InitTypeDef* DAC_InitStruct); void DAC_StructInit(DAC_InitTypeDef* DAC_InitStruct); void DAC_Cmd(uint32_t DAC_Channel, FunctionalState NewState); void DAC_DMACmd(uint32_t DAC_Channel, FunctionalState NewState); void DAC_SoftwareTriggerCmd(uint32_t DAC_Channel, FunctionalState NewState); void DAC_DualSoftwareTriggerCmd(FunctionalState NewState); void DAC_WaveGenerationCmd(uint32_t DAC_Channel, uint32_t DAC_Wave, FunctionalState NewState); void DAC_SetChannel1Data(uint32_t DAC_Align, uint16_t Data); void DAC_SetChannel2Data(uint32_t DAC_Align, uint16_t Data); void DAC_SetDualChannelData(uint32_t DAC_Align, uint16_t Data2, uint16_t Data1); uint16_t DAC_GetDataOutputValue(uint32_t DAC_Channel); #line 299 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dac.h" #line 34 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dbgmcu.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dbgmcu.h" #line 80 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dbgmcu.h" uint32_t DBGMCU_GetREVID(void); uint32_t DBGMCU_GetDEVID(void); void DBGMCU_Config(uint32_t DBGMCU_Periph, FunctionalState NewState); #line 35 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dma.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dma.h" typedef struct { uint32_t DMA_PeripheralBaseAddr; uint32_t DMA_MemoryBaseAddr; uint32_t DMA_DIR; uint32_t DMA_BufferSize; uint32_t DMA_PeripheralInc; uint32_t DMA_MemoryInc; uint32_t DMA_PeripheralDataSize; uint32_t DMA_MemoryDataSize; uint32_t DMA_Mode; uint32_t DMA_Priority; uint32_t DMA_M2M; }DMA_InitTypeDef; #line 107 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dma.h" #line 154 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dma.h" #line 168 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dma.h" #line 195 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dma.h" #line 248 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dma.h" #line 269 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dma.h" #line 296 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dma.h" #line 332 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dma.h" #line 353 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dma.h" #line 380 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_dma.h" void DMA_DeInit(DMA_Channel_TypeDef* DMAy_Channelx); void DMA_Init(DMA_Channel_TypeDef* DMAy_Channelx, DMA_InitTypeDef* DMA_InitStruct); void DMA_StructInit(DMA_InitTypeDef* DMA_InitStruct); void DMA_Cmd(DMA_Channel_TypeDef* DMAy_Channelx, FunctionalState NewState); void DMA_ITConfig(DMA_Channel_TypeDef* DMAy_Channelx, uint32_t DMA_IT, FunctionalState NewState); void DMA_SetCurrDataCounter(DMA_Channel_TypeDef* DMAy_Channelx, uint16_t DataNumber); uint16_t DMA_GetCurrDataCounter(DMA_Channel_TypeDef* DMAy_Channelx); FlagStatus DMA_GetFlagStatus(uint32_t DMAy_FLAG); void DMA_ClearFlag(uint32_t DMAy_FLAG); ITStatus DMA_GetITStatus(uint32_t DMAy_IT); void DMA_ClearITPendingBit(uint32_t DMAy_IT); #line 36 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_exti.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_exti.h" typedef enum { EXTI_Mode_Interrupt = 0x00, EXTI_Mode_Event = 0x04 }EXTIMode_TypeDef; typedef enum { EXTI_Trigger_Rising = 0x08, EXTI_Trigger_Falling = 0x0C, EXTI_Trigger_Rising_Falling = 0x10 }EXTITrigger_TypeDef; typedef struct { uint32_t EXTI_Line; EXTIMode_TypeDef EXTI_Mode; EXTITrigger_TypeDef EXTI_Trigger; FunctionalState EXTI_LineCmd; }EXTI_InitTypeDef; #line 124 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_exti.h" #line 136 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_exti.h" void EXTI_DeInit(void); void EXTI_Init(EXTI_InitTypeDef* EXTI_InitStruct); void EXTI_StructInit(EXTI_InitTypeDef* EXTI_InitStruct); void EXTI_GenerateSWInterrupt(uint32_t EXTI_Line); FlagStatus EXTI_GetFlagStatus(uint32_t EXTI_Line); void EXTI_ClearFlag(uint32_t EXTI_Line); ITStatus EXTI_GetITStatus(uint32_t EXTI_Line); void EXTI_ClearITPendingBit(uint32_t EXTI_Line); #line 37 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_flash.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_flash.h" typedef enum { FLASH_BUSY = 1, FLASH_ERROR_PG, FLASH_ERROR_WRP, FLASH_COMPLETE, FLASH_TIMEOUT }FLASH_Status; #line 77 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_flash.h" #line 118 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_flash.h" #line 144 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_flash.h" #line 211 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_flash.h" #line 270 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_flash.h" #line 291 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_flash.h" #line 333 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_flash.h" #line 346 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_flash.h" void FLASH_SetLatency(uint32_t FLASH_Latency); void FLASH_HalfCycleAccessCmd(uint32_t FLASH_HalfCycleAccess); void FLASH_PrefetchBufferCmd(uint32_t FLASH_PrefetchBuffer); void FLASH_Unlock(void); void FLASH_Lock(void); FLASH_Status FLASH_ErasePage(uint32_t Page_Address); FLASH_Status FLASH_EraseAllPages(void); FLASH_Status FLASH_EraseOptionBytes(void); FLASH_Status FLASH_ProgramWord(uint32_t Address, uint32_t Data); FLASH_Status FLASH_ProgramHalfWord(uint32_t Address, uint16_t Data); FLASH_Status FLASH_ProgramOptionByteData(uint32_t Address, uint8_t Data); FLASH_Status FLASH_EnableWriteProtection(uint32_t FLASH_Pages); FLASH_Status FLASH_ReadOutProtection(FunctionalState NewState); FLASH_Status FLASH_UserOptionByteConfig(uint16_t OB_IWDG, uint16_t OB_STOP, uint16_t OB_STDBY); uint32_t FLASH_GetUserOptionByte(void); uint32_t FLASH_GetWriteProtectionOptionByte(void); FlagStatus FLASH_GetReadOutProtectionStatus(void); FlagStatus FLASH_GetPrefetchBufferStatus(void); void FLASH_ITConfig(uint32_t FLASH_IT, FunctionalState NewState); FlagStatus FLASH_GetFlagStatus(uint32_t FLASH_FLAG); void FLASH_ClearFlag(uint32_t FLASH_FLAG); FLASH_Status FLASH_GetStatus(void); FLASH_Status FLASH_WaitForLastOperation(uint32_t Timeout); void FLASH_UnlockBank1(void); void FLASH_LockBank1(void); FLASH_Status FLASH_EraseAllBank1Pages(void); FLASH_Status FLASH_GetBank1Status(void); FLASH_Status FLASH_WaitForLastBank1Operation(uint32_t Timeout); #line 408 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_flash.h" #line 38 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_fsmc.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_fsmc.h" typedef struct { uint32_t FSMC_AddressSetupTime; uint32_t FSMC_AddressHoldTime; uint32_t FSMC_DataSetupTime; uint32_t FSMC_BusTurnAroundDuration; uint32_t FSMC_CLKDivision; uint32_t FSMC_DataLatency; uint32_t FSMC_AccessMode; }FSMC_NORSRAMTimingInitTypeDef; typedef struct { uint32_t FSMC_Bank; uint32_t FSMC_DataAddressMux; uint32_t FSMC_MemoryType; uint32_t FSMC_MemoryDataWidth; uint32_t FSMC_BurstAccessMode; uint32_t FSMC_AsynchronousWait; uint32_t FSMC_WaitSignalPolarity; uint32_t FSMC_WrapMode; uint32_t FSMC_WaitSignalActive; uint32_t FSMC_WriteOperation; uint32_t FSMC_WaitSignal; uint32_t FSMC_ExtendedMode; uint32_t FSMC_WriteBurst; FSMC_NORSRAMTimingInitTypeDef* FSMC_ReadWriteTimingStruct; FSMC_NORSRAMTimingInitTypeDef* FSMC_WriteTimingStruct; }FSMC_NORSRAMInitTypeDef; typedef struct { uint32_t FSMC_SetupTime; uint32_t FSMC_WaitSetupTime; uint32_t FSMC_HoldSetupTime; uint32_t FSMC_HiZSetupTime; }FSMC_NAND_PCCARDTimingInitTypeDef; typedef struct { uint32_t FSMC_Bank; uint32_t FSMC_Waitfeature; uint32_t FSMC_MemoryDataWidth; uint32_t FSMC_ECC; uint32_t FSMC_ECCPageSize; uint32_t FSMC_TCLRSetupTime; uint32_t FSMC_TARSetupTime; FSMC_NAND_PCCARDTimingInitTypeDef* FSMC_CommonSpaceTimingStruct; FSMC_NAND_PCCARDTimingInitTypeDef* FSMC_AttributeSpaceTimingStruct; }FSMC_NANDInitTypeDef; typedef struct { uint32_t FSMC_Waitfeature; uint32_t FSMC_TCLRSetupTime; uint32_t FSMC_TARSetupTime; FSMC_NAND_PCCARDTimingInitTypeDef* FSMC_CommonSpaceTimingStruct; FSMC_NAND_PCCARDTimingInitTypeDef* FSMC_AttributeSpaceTimingStruct; FSMC_NAND_PCCARDTimingInitTypeDef* FSMC_IOSpaceTimingStruct; }FSMC_PCCARDInitTypeDef; #line 317 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_fsmc.h" #line 521 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_fsmc.h" #line 577 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_fsmc.h" #line 653 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_fsmc.h" #line 669 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_fsmc.h" void FSMC_NORSRAMDeInit(uint32_t FSMC_Bank); void FSMC_NANDDeInit(uint32_t FSMC_Bank); void FSMC_PCCARDDeInit(void); void FSMC_NORSRAMInit(FSMC_NORSRAMInitTypeDef* FSMC_NORSRAMInitStruct); void FSMC_NANDInit(FSMC_NANDInitTypeDef* FSMC_NANDInitStruct); void FSMC_PCCARDInit(FSMC_PCCARDInitTypeDef* FSMC_PCCARDInitStruct); void FSMC_NORSRAMStructInit(FSMC_NORSRAMInitTypeDef* FSMC_NORSRAMInitStruct); void FSMC_NANDStructInit(FSMC_NANDInitTypeDef* FSMC_NANDInitStruct); void FSMC_PCCARDStructInit(FSMC_PCCARDInitTypeDef* FSMC_PCCARDInitStruct); void FSMC_NORSRAMCmd(uint32_t FSMC_Bank, FunctionalState NewState); void FSMC_NANDCmd(uint32_t FSMC_Bank, FunctionalState NewState); void FSMC_PCCARDCmd(FunctionalState NewState); void FSMC_NANDECCCmd(uint32_t FSMC_Bank, FunctionalState NewState); uint32_t FSMC_GetECC(uint32_t FSMC_Bank); void FSMC_ITConfig(uint32_t FSMC_Bank, uint32_t FSMC_IT, FunctionalState NewState); FlagStatus FSMC_GetFlagStatus(uint32_t FSMC_Bank, uint32_t FSMC_FLAG); void FSMC_ClearFlag(uint32_t FSMC_Bank, uint32_t FSMC_FLAG); ITStatus FSMC_GetITStatus(uint32_t FSMC_Bank, uint32_t FSMC_IT); void FSMC_ClearITPendingBit(uint32_t FSMC_Bank, uint32_t FSMC_IT); #line 39 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_gpio.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_gpio.h" #line 53 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_gpio.h" typedef enum { GPIO_Speed_10MHz = 1, GPIO_Speed_2MHz, GPIO_Speed_50MHz }GPIOSpeed_TypeDef; typedef enum { GPIO_Mode_AIN = 0x0, GPIO_Mode_IN_FLOATING = 0x04, GPIO_Mode_IPD = 0x28, GPIO_Mode_IPU = 0x48, GPIO_Mode_Out_OD = 0x14, GPIO_Mode_Out_PP = 0x10, GPIO_Mode_AF_OD = 0x1C, GPIO_Mode_AF_PP = 0x18 }GPIOMode_TypeDef; typedef struct { uint16_t GPIO_Pin; GPIOSpeed_TypeDef GPIO_Speed; GPIOMode_TypeDef GPIO_Mode; }GPIO_InitTypeDef; typedef enum { Bit_RESET = 0, Bit_SET }BitAction; #line 144 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_gpio.h" #line 163 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_gpio.h" #line 204 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_gpio.h" #line 217 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_gpio.h" #line 245 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_gpio.h" #line 266 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_gpio.h" #line 274 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_gpio.h" #line 299 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_gpio.h" #line 316 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_gpio.h" void GPIO_DeInit(GPIO_TypeDef* GPIOx); void GPIO_AFIODeInit(void); void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct); uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx); uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx); void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal); void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal); void GPIO_PinLockConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); void GPIO_EventOutputConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource); void GPIO_EventOutputCmd(FunctionalState NewState); void GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState NewState); void GPIO_EXTILineConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource); void GPIO_ETH_MediaInterfaceConfig(uint32_t GPIO_ETH_MediaInterface); #line 40 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_i2c.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_i2c.h" typedef struct { uint32_t I2C_ClockSpeed; uint16_t I2C_Mode; uint16_t I2C_DutyCycle; uint16_t I2C_OwnAddress1; uint16_t I2C_Ack; uint16_t I2C_AcknowledgedAddress; }I2C_InitTypeDef; #line 92 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_i2c.h" #line 166 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_i2c.h" #line 236 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_i2c.h" #line 246 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_i2c.h" #line 265 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_i2c.h" #line 284 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_i2c.h" #line 298 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_i2c.h" #line 496 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_i2c.h" void I2C_DeInit(I2C_TypeDef* I2Cx); void I2C_Init(I2C_TypeDef* I2Cx, I2C_InitTypeDef* I2C_InitStruct); void I2C_StructInit(I2C_InitTypeDef* I2C_InitStruct); void I2C_Cmd(I2C_TypeDef* I2Cx, FunctionalState NewState); void I2C_DMACmd(I2C_TypeDef* I2Cx, FunctionalState NewState); void I2C_DMALastTransferCmd(I2C_TypeDef* I2Cx, FunctionalState NewState); void I2C_GenerateSTART(I2C_TypeDef* I2Cx, FunctionalState NewState); void I2C_GenerateSTOP(I2C_TypeDef* I2Cx, FunctionalState NewState); void I2C_AcknowledgeConfig(I2C_TypeDef* I2Cx, FunctionalState NewState); void I2C_OwnAddress2Config(I2C_TypeDef* I2Cx, uint8_t Address); void I2C_DualAddressCmd(I2C_TypeDef* I2Cx, FunctionalState NewState); void I2C_GeneralCallCmd(I2C_TypeDef* I2Cx, FunctionalState NewState); void I2C_ITConfig(I2C_TypeDef* I2Cx, uint16_t I2C_IT, FunctionalState NewState); void I2C_SendData(I2C_TypeDef* I2Cx, uint8_t Data); uint8_t I2C_ReceiveData(I2C_TypeDef* I2Cx); void I2C_Send7bitAddress(I2C_TypeDef* I2Cx, uint8_t Address, uint8_t I2C_Direction); uint16_t I2C_ReadRegister(I2C_TypeDef* I2Cx, uint8_t I2C_Register); void I2C_SoftwareResetCmd(I2C_TypeDef* I2Cx, FunctionalState NewState); void I2C_NACKPositionConfig(I2C_TypeDef* I2Cx, uint16_t I2C_NACKPosition); void I2C_SMBusAlertConfig(I2C_TypeDef* I2Cx, uint16_t I2C_SMBusAlert); void I2C_TransmitPEC(I2C_TypeDef* I2Cx, FunctionalState NewState); void I2C_PECPositionConfig(I2C_TypeDef* I2Cx, uint16_t I2C_PECPosition); void I2C_CalculatePEC(I2C_TypeDef* I2Cx, FunctionalState NewState); uint8_t I2C_GetPEC(I2C_TypeDef* I2Cx); void I2C_ARPCmd(I2C_TypeDef* I2Cx, FunctionalState NewState); void I2C_StretchClockCmd(I2C_TypeDef* I2Cx, FunctionalState NewState); void I2C_FastModeDutyCycleConfig(I2C_TypeDef* I2Cx, uint16_t I2C_DutyCycle); ErrorStatus I2C_CheckEvent(I2C_TypeDef* I2Cx, uint32_t I2C_EVENT); uint32_t I2C_GetLastEvent(I2C_TypeDef* I2Cx); FlagStatus I2C_GetFlagStatus(I2C_TypeDef* I2Cx, uint32_t I2C_FLAG); void I2C_ClearFlag(I2C_TypeDef* I2Cx, uint32_t I2C_FLAG); ITStatus I2C_GetITStatus(I2C_TypeDef* I2Cx, uint32_t I2C_IT); void I2C_ClearITPendingBit(I2C_TypeDef* I2Cx, uint32_t I2C_IT); #line 41 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_iwdg.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_iwdg.h" #line 84 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_iwdg.h" void IWDG_WriteAccessCmd(uint16_t IWDG_WriteAccess); void IWDG_SetPrescaler(uint8_t IWDG_Prescaler); void IWDG_SetReload(uint16_t Reload); void IWDG_ReloadCounter(void); void IWDG_Enable(void); FlagStatus IWDG_GetFlagStatus(uint16_t IWDG_FLAG); #line 42 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_pwr.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_pwr.h" #line 70 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_pwr.h" void PWR_DeInit(void); void PWR_BackupAccessCmd(FunctionalState NewState); void PWR_PVDCmd(FunctionalState NewState); void PWR_PVDLevelConfig(uint32_t PWR_PVDLevel); void PWR_WakeUpPinCmd(FunctionalState NewState); void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry); void PWR_EnterSTANDBYMode(void); FlagStatus PWR_GetFlagStatus(uint32_t PWR_FLAG); void PWR_ClearFlag(uint32_t PWR_FLAG); #line 43 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" typedef struct { uint32_t SYSCLK_Frequency; uint32_t HCLK_Frequency; uint32_t PCLK1_Frequency; uint32_t PCLK2_Frequency; uint32_t ADCCLK_Frequency; }RCC_ClocksTypeDef; #line 94 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" #line 126 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" #line 141 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" #line 175 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" #line 196 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" #line 283 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" #line 295 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" #line 317 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" #line 333 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" #line 347 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" #line 364 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" #line 396 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" #line 423 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" #line 435 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" #line 462 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" #line 489 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" #line 518 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" #line 553 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" #line 586 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" #line 606 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" #line 625 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" void RCC_DeInit(void); void RCC_HSEConfig(uint32_t RCC_HSE); ErrorStatus RCC_WaitForHSEStartUp(void); void RCC_AdjustHSICalibrationValue(uint8_t HSICalibrationValue); void RCC_HSICmd(FunctionalState NewState); void RCC_PLLConfig(uint32_t RCC_PLLSource, uint32_t RCC_PLLMul); void RCC_PLLCmd(FunctionalState NewState); #line 666 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rcc.h" void RCC_SYSCLKConfig(uint32_t RCC_SYSCLKSource); uint8_t RCC_GetSYSCLKSource(void); void RCC_HCLKConfig(uint32_t RCC_SYSCLK); void RCC_PCLK1Config(uint32_t RCC_HCLK); void RCC_PCLK2Config(uint32_t RCC_HCLK); void RCC_ITConfig(uint8_t RCC_IT, FunctionalState NewState); void RCC_USBCLKConfig(uint32_t RCC_USBCLKSource); void RCC_ADCCLKConfig(uint32_t RCC_PCLK2); void RCC_LSEConfig(uint8_t RCC_LSE); void RCC_LSICmd(FunctionalState NewState); void RCC_RTCCLKConfig(uint32_t RCC_RTCCLKSource); void RCC_RTCCLKCmd(FunctionalState NewState); void RCC_GetClocksFreq(RCC_ClocksTypeDef* RCC_Clocks); void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState); void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState); void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState); void RCC_APB2PeriphResetCmd(uint32_t RCC_APB2Periph, FunctionalState NewState); void RCC_APB1PeriphResetCmd(uint32_t RCC_APB1Periph, FunctionalState NewState); void RCC_BackupResetCmd(FunctionalState NewState); void RCC_ClockSecuritySystemCmd(FunctionalState NewState); void RCC_MCOConfig(uint8_t RCC_MCO); FlagStatus RCC_GetFlagStatus(uint8_t RCC_FLAG); void RCC_ClearFlag(void); ITStatus RCC_GetITStatus(uint8_t RCC_IT); void RCC_ClearITPendingBit(uint8_t RCC_IT); #line 44 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rtc.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rtc.h" #line 64 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rtc.h" #line 82 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_rtc.h" void RTC_ITConfig(uint16_t RTC_IT, FunctionalState NewState); void RTC_EnterConfigMode(void); void RTC_ExitConfigMode(void); uint32_t RTC_GetCounter(void); void RTC_SetCounter(uint32_t CounterValue); void RTC_SetPrescaler(uint32_t PrescalerValue); void RTC_SetAlarm(uint32_t AlarmValue); uint32_t RTC_GetDivider(void); void RTC_WaitForLastTask(void); void RTC_WaitForSynchro(void); FlagStatus RTC_GetFlagStatus(uint16_t RTC_FLAG); void RTC_ClearFlag(uint16_t RTC_FLAG); ITStatus RTC_GetITStatus(uint16_t RTC_IT); void RTC_ClearITPendingBit(uint16_t RTC_IT); #line 45 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_sdio.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_sdio.h" typedef struct { uint32_t SDIO_ClockEdge; uint32_t SDIO_ClockBypass; uint32_t SDIO_ClockPowerSave; uint32_t SDIO_BusWide; uint32_t SDIO_HardwareFlowControl; uint8_t SDIO_ClockDiv; } SDIO_InitTypeDef; typedef struct { uint32_t SDIO_Argument; uint32_t SDIO_CmdIndex; uint32_t SDIO_Response; uint32_t SDIO_Wait; uint32_t SDIO_CPSM; } SDIO_CmdInitTypeDef; typedef struct { uint32_t SDIO_DataTimeOut; uint32_t SDIO_DataLength; uint32_t SDIO_DataBlockSize; uint32_t SDIO_TransferDir; uint32_t SDIO_TransferMode; uint32_t SDIO_DPSM; } SDIO_DataInitTypeDef; #line 222 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_sdio.h" #line 245 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_sdio.h" #line 283 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_sdio.h" #line 330 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_sdio.h" #line 421 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_sdio.h" #line 448 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_sdio.h" void SDIO_DeInit(void); void SDIO_Init(SDIO_InitTypeDef* SDIO_InitStruct); void SDIO_StructInit(SDIO_InitTypeDef* SDIO_InitStruct); void SDIO_ClockCmd(FunctionalState NewState); void SDIO_SetPowerState(uint32_t SDIO_PowerState); uint32_t SDIO_GetPowerState(void); void SDIO_ITConfig(uint32_t SDIO_IT, FunctionalState NewState); void SDIO_DMACmd(FunctionalState NewState); void SDIO_SendCommand(SDIO_CmdInitTypeDef *SDIO_CmdInitStruct); void SDIO_CmdStructInit(SDIO_CmdInitTypeDef* SDIO_CmdInitStruct); uint8_t SDIO_GetCommandResponse(void); uint32_t SDIO_GetResponse(uint32_t SDIO_RESP); void SDIO_DataConfig(SDIO_DataInitTypeDef* SDIO_DataInitStruct); void SDIO_DataStructInit(SDIO_DataInitTypeDef* SDIO_DataInitStruct); uint32_t SDIO_GetDataCounter(void); uint32_t SDIO_ReadData(void); void SDIO_WriteData(uint32_t Data); uint32_t SDIO_GetFIFOCount(void); void SDIO_StartSDIOReadWait(FunctionalState NewState); void SDIO_StopSDIOReadWait(FunctionalState NewState); void SDIO_SetSDIOReadWaitMode(uint32_t SDIO_ReadWaitMode); void SDIO_SetSDIOOperation(FunctionalState NewState); void SDIO_SendSDIOSuspendCmd(FunctionalState NewState); void SDIO_CommandCompletionCmd(FunctionalState NewState); void SDIO_CEATAITCmd(FunctionalState NewState); void SDIO_SendCEATACmd(FunctionalState NewState); FlagStatus SDIO_GetFlagStatus(uint32_t SDIO_FLAG); void SDIO_ClearFlag(uint32_t SDIO_FLAG); ITStatus SDIO_GetITStatus(uint32_t SDIO_IT); void SDIO_ClearITPendingBit(uint32_t SDIO_IT); #line 46 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_spi.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_spi.h" typedef struct { uint16_t SPI_Direction; uint16_t SPI_Mode; uint16_t SPI_DataSize; uint16_t SPI_CPOL; uint16_t SPI_CPHA; uint16_t SPI_NSS; uint16_t SPI_BaudRatePrescaler; uint16_t SPI_FirstBit; uint16_t SPI_CRCPolynomial; }SPI_InitTypeDef; typedef struct { uint16_t I2S_Mode; uint16_t I2S_Standard; uint16_t I2S_DataFormat; uint16_t I2S_MCLKOutput; uint32_t I2S_AudioFreq; uint16_t I2S_CPOL; }I2S_InitTypeDef; #line 136 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_spi.h" #line 220 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_spi.h" #line 248 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_spi.h" #line 266 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_spi.h" #line 282 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_spi.h" #line 312 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_spi.h" #line 396 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_spi.h" #line 417 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_spi.h" void SPI_I2S_DeInit(SPI_TypeDef* SPIx); void SPI_Init(SPI_TypeDef* SPIx, SPI_InitTypeDef* SPI_InitStruct); void I2S_Init(SPI_TypeDef* SPIx, I2S_InitTypeDef* I2S_InitStruct); void SPI_StructInit(SPI_InitTypeDef* SPI_InitStruct); void I2S_StructInit(I2S_InitTypeDef* I2S_InitStruct); void SPI_Cmd(SPI_TypeDef* SPIx, FunctionalState NewState); void I2S_Cmd(SPI_TypeDef* SPIx, FunctionalState NewState); void SPI_I2S_ITConfig(SPI_TypeDef* SPIx, uint8_t SPI_I2S_IT, FunctionalState NewState); void SPI_I2S_DMACmd(SPI_TypeDef* SPIx, uint16_t SPI_I2S_DMAReq, FunctionalState NewState); void SPI_I2S_SendData(SPI_TypeDef* SPIx, uint16_t Data); uint16_t SPI_I2S_ReceiveData(SPI_TypeDef* SPIx); void SPI_NSSInternalSoftwareConfig(SPI_TypeDef* SPIx, uint16_t SPI_NSSInternalSoft); void SPI_SSOutputCmd(SPI_TypeDef* SPIx, FunctionalState NewState); void SPI_DataSizeConfig(SPI_TypeDef* SPIx, uint16_t SPI_DataSize); void SPI_TransmitCRC(SPI_TypeDef* SPIx); void SPI_CalculateCRC(SPI_TypeDef* SPIx, FunctionalState NewState); uint16_t SPI_GetCRC(SPI_TypeDef* SPIx, uint8_t SPI_CRC); uint16_t SPI_GetCRCPolynomial(SPI_TypeDef* SPIx); void SPI_BiDirectionalLineConfig(SPI_TypeDef* SPIx, uint16_t SPI_Direction); FlagStatus SPI_I2S_GetFlagStatus(SPI_TypeDef* SPIx, uint16_t SPI_I2S_FLAG); void SPI_I2S_ClearFlag(SPI_TypeDef* SPIx, uint16_t SPI_I2S_FLAG); ITStatus SPI_I2S_GetITStatus(SPI_TypeDef* SPIx, uint8_t SPI_I2S_IT); void SPI_I2S_ClearITPendingBit(SPI_TypeDef* SPIx, uint8_t SPI_I2S_IT); #line 47 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" typedef struct { uint16_t TIM_Prescaler; uint16_t TIM_CounterMode; uint16_t TIM_Period; uint16_t TIM_ClockDivision; uint8_t TIM_RepetitionCounter; } TIM_TimeBaseInitTypeDef; typedef struct { uint16_t TIM_OCMode; uint16_t TIM_OutputState; uint16_t TIM_OutputNState; uint16_t TIM_Pulse; uint16_t TIM_OCPolarity; uint16_t TIM_OCNPolarity; uint16_t TIM_OCIdleState; uint16_t TIM_OCNIdleState; } TIM_OCInitTypeDef; typedef struct { uint16_t TIM_Channel; uint16_t TIM_ICPolarity; uint16_t TIM_ICSelection; uint16_t TIM_ICPrescaler; uint16_t TIM_ICFilter; } TIM_ICInitTypeDef; typedef struct { uint16_t TIM_OSSRState; uint16_t TIM_OSSIState; uint16_t TIM_LOCKLevel; uint16_t TIM_DeadTime; uint16_t TIM_Break; uint16_t TIM_BreakPolarity; uint16_t TIM_AutomaticOutput; } TIM_BDTRInitTypeDef; #line 186 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 205 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 216 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 225 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 236 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 249 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 266 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 279 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 308 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 341 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 355 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 373 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 497 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 561 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 577 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 593 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 610 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 619 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 665 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 709 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 725 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 742 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 770 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 784 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 833 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 851 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 866 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 927 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 943 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 987 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" #line 1034 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_tim.h" void TIM_DeInit(TIM_TypeDef* TIMx); void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct); void TIM_OC1Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct); void TIM_OC2Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct); void TIM_OC3Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct); void TIM_OC4Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct); void TIM_ICInit(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct); void TIM_PWMIConfig(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct); void TIM_BDTRConfig(TIM_TypeDef* TIMx, TIM_BDTRInitTypeDef *TIM_BDTRInitStruct); void TIM_TimeBaseStructInit(TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct); void TIM_OCStructInit(TIM_OCInitTypeDef* TIM_OCInitStruct); void TIM_ICStructInit(TIM_ICInitTypeDef* TIM_ICInitStruct); void TIM_BDTRStructInit(TIM_BDTRInitTypeDef* TIM_BDTRInitStruct); void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState); void TIM_CtrlPWMOutputs(TIM_TypeDef* TIMx, FunctionalState NewState); void TIM_ITConfig(TIM_TypeDef* TIMx, uint16_t TIM_IT, FunctionalState NewState); void TIM_GenerateEvent(TIM_TypeDef* TIMx, uint16_t TIM_EventSource); void TIM_DMAConfig(TIM_TypeDef* TIMx, uint16_t TIM_DMABase, uint16_t TIM_DMABurstLength); void TIM_DMACmd(TIM_TypeDef* TIMx, uint16_t TIM_DMASource, FunctionalState NewState); void TIM_InternalClockConfig(TIM_TypeDef* TIMx); void TIM_ITRxExternalClockConfig(TIM_TypeDef* TIMx, uint16_t TIM_InputTriggerSource); void TIM_TIxExternalClockConfig(TIM_TypeDef* TIMx, uint16_t TIM_TIxExternalCLKSource, uint16_t TIM_ICPolarity, uint16_t ICFilter); void TIM_ETRClockMode1Config(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity, uint16_t ExtTRGFilter); void TIM_ETRClockMode2Config(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity, uint16_t ExtTRGFilter); void TIM_ETRConfig(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity, uint16_t ExtTRGFilter); void TIM_PrescalerConfig(TIM_TypeDef* TIMx, uint16_t Prescaler, uint16_t TIM_PSCReloadMode); void TIM_CounterModeConfig(TIM_TypeDef* TIMx, uint16_t TIM_CounterMode); void TIM_SelectInputTrigger(TIM_TypeDef* TIMx, uint16_t TIM_InputTriggerSource); void TIM_EncoderInterfaceConfig(TIM_TypeDef* TIMx, uint16_t TIM_EncoderMode, uint16_t TIM_IC1Polarity, uint16_t TIM_IC2Polarity); void TIM_ForcedOC1Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction); void TIM_ForcedOC2Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction); void TIM_ForcedOC3Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction); void TIM_ForcedOC4Config(TIM_TypeDef* TIMx, uint16_t TIM_ForcedAction); void TIM_ARRPreloadConfig(TIM_TypeDef* TIMx, FunctionalState NewState); void TIM_SelectCOM(TIM_TypeDef* TIMx, FunctionalState NewState); void TIM_SelectCCDMA(TIM_TypeDef* TIMx, FunctionalState NewState); void TIM_CCPreloadControl(TIM_TypeDef* TIMx, FunctionalState NewState); void TIM_OC1PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload); void TIM_OC2PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload); void TIM_OC3PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload); void TIM_OC4PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload); void TIM_OC1FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast); void TIM_OC2FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast); void TIM_OC3FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast); void TIM_OC4FastConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCFast); void TIM_ClearOC1Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear); void TIM_ClearOC2Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear); void TIM_ClearOC3Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear); void TIM_ClearOC4Ref(TIM_TypeDef* TIMx, uint16_t TIM_OCClear); void TIM_OC1PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity); void TIM_OC1NPolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCNPolarity); void TIM_OC2PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity); void TIM_OC2NPolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCNPolarity); void TIM_OC3PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity); void TIM_OC3NPolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCNPolarity); void TIM_OC4PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity); void TIM_CCxCmd(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_CCx); void TIM_CCxNCmd(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_CCxN); void TIM_SelectOCxM(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_OCMode); void TIM_UpdateDisableConfig(TIM_TypeDef* TIMx, FunctionalState NewState); void TIM_UpdateRequestConfig(TIM_TypeDef* TIMx, uint16_t TIM_UpdateSource); void TIM_SelectHallSensor(TIM_TypeDef* TIMx, FunctionalState NewState); void TIM_SelectOnePulseMode(TIM_TypeDef* TIMx, uint16_t TIM_OPMode); void TIM_SelectOutputTrigger(TIM_TypeDef* TIMx, uint16_t TIM_TRGOSource); void TIM_SelectSlaveMode(TIM_TypeDef* TIMx, uint16_t TIM_SlaveMode); void TIM_SelectMasterSlaveMode(TIM_TypeDef* TIMx, uint16_t TIM_MasterSlaveMode); void TIM_SetCounter(TIM_TypeDef* TIMx, uint16_t Counter); void TIM_SetAutoreload(TIM_TypeDef* TIMx, uint16_t Autoreload); void TIM_SetCompare1(TIM_TypeDef* TIMx, uint16_t Compare1); void TIM_SetCompare2(TIM_TypeDef* TIMx, uint16_t Compare2); void TIM_SetCompare3(TIM_TypeDef* TIMx, uint16_t Compare3); void TIM_SetCompare4(TIM_TypeDef* TIMx, uint16_t Compare4); void TIM_SetIC1Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC); void TIM_SetIC2Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC); void TIM_SetIC3Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC); void TIM_SetIC4Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC); void TIM_SetClockDivision(TIM_TypeDef* TIMx, uint16_t TIM_CKD); uint16_t TIM_GetCapture1(TIM_TypeDef* TIMx); uint16_t TIM_GetCapture2(TIM_TypeDef* TIMx); uint16_t TIM_GetCapture3(TIM_TypeDef* TIMx); uint16_t TIM_GetCapture4(TIM_TypeDef* TIMx); uint16_t TIM_GetCounter(TIM_TypeDef* TIMx); uint16_t TIM_GetPrescaler(TIM_TypeDef* TIMx); FlagStatus TIM_GetFlagStatus(TIM_TypeDef* TIMx, uint16_t TIM_FLAG); void TIM_ClearFlag(TIM_TypeDef* TIMx, uint16_t TIM_FLAG); ITStatus TIM_GetITStatus(TIM_TypeDef* TIMx, uint16_t TIM_IT); void TIM_ClearITPendingBit(TIM_TypeDef* TIMx, uint16_t TIM_IT); #line 48 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_usart.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_usart.h" typedef struct { uint32_t USART_BaudRate; uint16_t USART_WordLength; uint16_t USART_StopBits; uint16_t USART_Parity; uint16_t USART_Mode; uint16_t USART_HardwareFlowControl; } USART_InitTypeDef; typedef struct { uint16_t USART_Clock; uint16_t USART_CPOL; uint16_t USART_CPHA; uint16_t USART_LastBit; } USART_ClockInitTypeDef; #line 146 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_usart.h" #line 160 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_usart.h" #line 187 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_usart.h" #line 264 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_usart.h" #line 336 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_usart.h" #line 344 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_usart.h" void USART_DeInit(USART_TypeDef* USARTx); void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct); void USART_StructInit(USART_InitTypeDef* USART_InitStruct); void USART_ClockInit(USART_TypeDef* USARTx, USART_ClockInitTypeDef* USART_ClockInitStruct); void USART_ClockStructInit(USART_ClockInitTypeDef* USART_ClockInitStruct); void USART_Cmd(USART_TypeDef* USARTx, FunctionalState NewState); void USART_ITConfig(USART_TypeDef* USARTx, uint16_t USART_IT, FunctionalState NewState); void USART_DMACmd(USART_TypeDef* USARTx, uint16_t USART_DMAReq, FunctionalState NewState); void USART_SetAddress(USART_TypeDef* USARTx, uint8_t USART_Address); void USART_WakeUpConfig(USART_TypeDef* USARTx, uint16_t USART_WakeUp); void USART_ReceiverWakeUpCmd(USART_TypeDef* USARTx, FunctionalState NewState); void USART_LINBreakDetectLengthConfig(USART_TypeDef* USARTx, uint16_t USART_LINBreakDetectLength); void USART_LINCmd(USART_TypeDef* USARTx, FunctionalState NewState); void USART_SendData(USART_TypeDef* USARTx, uint16_t Data); uint16_t USART_ReceiveData(USART_TypeDef* USARTx); void USART_SendBreak(USART_TypeDef* USARTx); void USART_SetGuardTime(USART_TypeDef* USARTx, uint8_t USART_GuardTime); void USART_SetPrescaler(USART_TypeDef* USARTx, uint8_t USART_Prescaler); void USART_SmartCardCmd(USART_TypeDef* USARTx, FunctionalState NewState); void USART_SmartCardNACKCmd(USART_TypeDef* USARTx, FunctionalState NewState); void USART_HalfDuplexCmd(USART_TypeDef* USARTx, FunctionalState NewState); void USART_OverSampling8Cmd(USART_TypeDef* USARTx, FunctionalState NewState); void USART_OneBitMethodCmd(USART_TypeDef* USARTx, FunctionalState NewState); void USART_IrDAConfig(USART_TypeDef* USARTx, uint16_t USART_IrDAMode); void USART_IrDACmd(USART_TypeDef* USARTx, FunctionalState NewState); FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG); void USART_ClearFlag(USART_TypeDef* USARTx, uint16_t USART_FLAG); ITStatus USART_GetITStatus(USART_TypeDef* USARTx, uint16_t USART_IT); void USART_ClearITPendingBit(USART_TypeDef* USARTx, uint16_t USART_IT); #line 49 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_wwdg.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_wwdg.h" #line 68 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\stm32f10x_wwdg.h" void WWDG_DeInit(void); void WWDG_SetPrescaler(uint32_t WWDG_Prescaler); void WWDG_SetWindowValue(uint8_t WindowValue); void WWDG_EnableIT(void); void WWDG_SetCounter(uint8_t Counter); void WWDG_Enable(uint8_t Counter); FlagStatus WWDG_GetFlagStatus(void); void WWDG_ClearFlag(void); #line 50 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 1 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\misc.h" #line 33 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\misc.h" typedef struct { uint8_t NVIC_IRQChannel; uint8_t NVIC_IRQChannelPreemptionPriority; uint8_t NVIC_IRQChannelSubPriority; FunctionalState NVIC_IRQChannelCmd; } NVIC_InitTypeDef; #line 133 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\misc.h" #line 151 "..\\..\\template\\Libraries\\STM32F10x_StdPeriph_Driver\\inc\\misc.h" void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup); void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct); void NVIC_SetVectorTable(uint32_t NVIC_VectTab, uint32_t Offset); void NVIC_SystemLPConfig(uint8_t LowPowerMode, FunctionalState NewState); void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource); #line 51 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 74 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 8298 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x.h" #line 2 "..\\user\\src\\gpsnet.c" #line 3 "..\\user\\src\\gpsnet.c" #line 1 "..\\user\\inc\\usart.h" extern void Send_byte_usart1(char date); extern void Send_byte_usart2(char date); extern void Send_TString_LCD(unsigned char* sll, unsigned short num); extern void Send_string_Ye(unsigned char *sl, unsigned short num); extern void Send_string_GPS(unsigned char *sl); extern void Send_string_BLENamb(unsigned char *sl); extern void Send_string_BLEReset(unsigned char *sl); extern void Send_TString_GPS(unsigned char* sll,unsigned short num); extern void Send_string_BMS_TT(unsigned char *sl); extern void Rs485TietaDataSend(unsigned char* sll,unsigned short num); #line 4 "..\\user\\src\\gpsnet.c" #line 1 "..\\user\\inc\\delay.h" #line 5 "..\\user\\inc\\delay.h" void Delay_init(void); void Delay_us(u32 nus); void Delay_ms(u32 nms); void delay_ms(u16 time); #line 5 "..\\user\\src\\gpsnet.c" #line 1 "..\\user\\inc\\485.h" #line 5 "..\\user\\inc\\485.h" typedef struct { u8 erro_data; u8 Kaiguan[52]; u8 Anal_Type; union { u16 monis[42]; struct { u16 Total_VOl; u16 Cores_num; u16 Pow_SOC; u16 Res_Capa; u16 SOH; u16 Chg_Curr; s16 Ambi_Tmp; s16 Cores_Tmp; s16 Card_Tmp; u16 Cores_Vol_1; u16 Cores_Vol_2; u16 Cores_Vol_3; u16 Cores_Vol_4; u16 Cores_Vol_5; u16 Cores_Vol_6; u16 Cores_Vol_7; u16 Cores_Vol_8; u16 Cores_Vol_9; u16 Cores_Vol_10; u16 Cores_Vol_11; u16 Cores_Vol_12; u16 Cores_Vol_13; u16 Cores_Vol_14; u16 Cores_Vol_15; u16 Cores_Vol_16; u16 Cores_Vol_17; u16 Cores_Vol_18; u16 Cores_Vol_19; u16 Cores_Vol_20; u16 Device_ID_1; u16 Device_ID_2; u16 Device_ID_3; u16 Device_ID_4; u16 Device_ID_5; u16 Device_ID_6; u16 Device_ID_7; u16 Device_ID_8; u16 Device_ID_9; u16 Device_ID_10; u16 Device_ID_11; u16 Device_ID_12; u16 Device_ID_13; }Anal_quan; }Anal_quanuion; }BMS_TT; extern BMS_TT Bms_tt_data; extern unsigned char databuf[26]; extern unsigned char dataxingaobuf[26]; extern unsigned char ddataxingaobuf_last[28]; extern unsigned char dataxingaobufbufnum; extern unsigned char dataxingaobufbuf_flag; extern u8 Rev_Succe; extern void Rs485PortSetNewBTCode(void); extern void Rs485PortNWDataHandle(void); #line 6 "..\\user\\src\\gpsnet.c" #line 1 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdio.h" #line 47 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdio.h" typedef unsigned int size_t; typedef struct __va_list __va_list; typedef struct __fpos_t_struct { unsigned __int64 __pos; struct { unsigned int __state1, __state2; } __mbstate; } fpos_t; typedef struct __FILE FILE; #line 136 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdio.h" extern FILE __stdin, __stdout, __stderr; extern FILE *__aeabi_stdin, *__aeabi_stdout, *__aeabi_stderr; #line 166 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdio.h" extern __declspec(__nothrow) int remove(const char * ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) int rename(const char * , const char * ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) FILE *tmpfile(void); extern __declspec(__nothrow) char *tmpnam(char * ); extern __declspec(__nothrow) int fclose(FILE * ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) int fflush(FILE * ); extern __declspec(__nothrow) FILE *fopen(const char * __restrict , const char * __restrict ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) FILE *freopen(const char * __restrict , const char * __restrict , FILE * __restrict ) __attribute__((__nonnull__(2,3))); extern __declspec(__nothrow) void setbuf(FILE * __restrict , char * __restrict ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) int setvbuf(FILE * __restrict , char * __restrict , int , size_t ) __attribute__((__nonnull__(1))); #pragma __printf_args extern __declspec(__nothrow) int fprintf(FILE * __restrict , const char * __restrict , ...) __attribute__((__nonnull__(1,2))); #pragma __printf_args extern __declspec(__nothrow) int _fprintf(FILE * __restrict , const char * __restrict , ...) __attribute__((__nonnull__(1,2))); #pragma __printf_args extern __declspec(__nothrow) int printf(const char * __restrict , ...) __attribute__((__nonnull__(1))); #pragma __printf_args extern __declspec(__nothrow) int _printf(const char * __restrict , ...) __attribute__((__nonnull__(1))); #pragma __printf_args extern __declspec(__nothrow) int sprintf(char * __restrict , const char * __restrict , ...) __attribute__((__nonnull__(1,2))); #pragma __printf_args extern __declspec(__nothrow) int _sprintf(char * __restrict , const char * __restrict , ...) __attribute__((__nonnull__(1,2))); #pragma __printf_args extern __declspec(__nothrow) int __ARM_snprintf(char * __restrict , size_t , const char * __restrict , ...) __attribute__((__nonnull__(3))); #pragma __printf_args extern __declspec(__nothrow) int snprintf(char * __restrict , size_t , const char * __restrict , ...) __attribute__((__nonnull__(3))); #pragma __printf_args extern __declspec(__nothrow) int _snprintf(char * __restrict , size_t , const char * __restrict , ...) __attribute__((__nonnull__(3))); #pragma __scanf_args extern __declspec(__nothrow) int fscanf(FILE * __restrict , const char * __restrict , ...) __attribute__((__nonnull__(1,2))); #pragma __scanf_args extern __declspec(__nothrow) int _fscanf(FILE * __restrict , const char * __restrict , ...) __attribute__((__nonnull__(1,2))); #pragma __scanf_args extern __declspec(__nothrow) int scanf(const char * __restrict , ...) __attribute__((__nonnull__(1))); #pragma __scanf_args extern __declspec(__nothrow) int _scanf(const char * __restrict , ...) __attribute__((__nonnull__(1))); #pragma __scanf_args extern __declspec(__nothrow) int sscanf(const char * __restrict , const char * __restrict , ...) __attribute__((__nonnull__(1,2))); #pragma __scanf_args extern __declspec(__nothrow) int _sscanf(const char * __restrict , const char * __restrict , ...) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) int vfscanf(FILE * __restrict , const char * __restrict , __va_list) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) int vscanf(const char * __restrict , __va_list) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) int vsscanf(const char * __restrict , const char * __restrict , __va_list) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) int _vfscanf(FILE * __restrict , const char * __restrict , __va_list) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) int _vscanf(const char * __restrict , __va_list) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) int _vsscanf(const char * __restrict , const char * __restrict , __va_list) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) int __ARM_vsscanf(const char * __restrict , const char * __restrict , __va_list) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) int vprintf(const char * __restrict , __va_list ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) int _vprintf(const char * __restrict , __va_list ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) int vfprintf(FILE * __restrict , const char * __restrict , __va_list ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) int vsprintf(char * __restrict , const char * __restrict , __va_list ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) int __ARM_vsnprintf(char * __restrict , size_t , const char * __restrict , __va_list ) __attribute__((__nonnull__(3))); extern __declspec(__nothrow) int vsnprintf(char * __restrict , size_t , const char * __restrict , __va_list ) __attribute__((__nonnull__(3))); extern __declspec(__nothrow) int _vsprintf(char * __restrict , const char * __restrict , __va_list ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) int _vfprintf(FILE * __restrict , const char * __restrict , __va_list ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) int _vsnprintf(char * __restrict , size_t , const char * __restrict , __va_list ) __attribute__((__nonnull__(3))); #pragma __printf_args extern __declspec(__nothrow) int asprintf(char ** , const char * __restrict , ...) __attribute__((__nonnull__(2))); extern __declspec(__nothrow) int vasprintf(char ** , const char * __restrict , __va_list ) __attribute__((__nonnull__(2))); #pragma __printf_args extern __declspec(__nothrow) int __ARM_asprintf(char ** , const char * __restrict , ...) __attribute__((__nonnull__(2))); extern __declspec(__nothrow) int __ARM_vasprintf(char ** , const char * __restrict , __va_list ) __attribute__((__nonnull__(2))); extern __declspec(__nothrow) int fgetc(FILE * ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) char *fgets(char * __restrict , int , FILE * __restrict ) __attribute__((__nonnull__(1,3))); extern __declspec(__nothrow) int fputc(int , FILE * ) __attribute__((__nonnull__(2))); extern __declspec(__nothrow) int fputs(const char * __restrict , FILE * __restrict ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) int getc(FILE * ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) int (getchar)(void); extern __declspec(__nothrow) char *gets(char * ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) int putc(int , FILE * ) __attribute__((__nonnull__(2))); extern __declspec(__nothrow) int (putchar)(int ); extern __declspec(__nothrow) int puts(const char * ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) int ungetc(int , FILE * ) __attribute__((__nonnull__(2))); extern __declspec(__nothrow) size_t fread(void * __restrict , size_t , size_t , FILE * __restrict ) __attribute__((__nonnull__(1,4))); extern __declspec(__nothrow) size_t __fread_bytes_avail(void * __restrict , size_t , FILE * __restrict ) __attribute__((__nonnull__(1,3))); extern __declspec(__nothrow) size_t fwrite(const void * __restrict , size_t , size_t , FILE * __restrict ) __attribute__((__nonnull__(1,4))); extern __declspec(__nothrow) int fgetpos(FILE * __restrict , fpos_t * __restrict ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) int fseek(FILE * , long int , int ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) int fsetpos(FILE * __restrict , const fpos_t * __restrict ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) long int ftell(FILE * ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) void rewind(FILE * ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) void clearerr(FILE * ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) int feof(FILE * ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) int ferror(FILE * ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) void perror(const char * ); extern __declspec(__nothrow) int _fisatty(FILE * ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) void __use_no_semihosting_swi(void); extern __declspec(__nothrow) void __use_no_semihosting(void); #line 1021 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdio.h" #line 7 "..\\user\\src\\gpsnet.c" #line 1 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\string.h" #line 38 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\string.h" typedef unsigned int size_t; #line 54 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\string.h" extern __declspec(__nothrow) void *memcpy(void * __restrict , const void * __restrict , size_t ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) void *memmove(void * , const void * , size_t ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) char *strcpy(char * __restrict , const char * __restrict ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) char *strncpy(char * __restrict , const char * __restrict , size_t ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) char *strcat(char * __restrict , const char * __restrict ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) char *strncat(char * __restrict , const char * __restrict , size_t ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) int memcmp(const void * , const void * , size_t ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) int strcmp(const char * , const char * ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) int strncmp(const char * , const char * , size_t ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) int strcasecmp(const char * , const char * ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) int strncasecmp(const char * , const char * , size_t ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) int strcoll(const char * , const char * ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) size_t strxfrm(char * __restrict , const char * __restrict , size_t ) __attribute__((__nonnull__(2))); #line 193 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\string.h" extern __declspec(__nothrow) void *memchr(const void * , int , size_t ) __attribute__((__nonnull__(1))); #line 209 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\string.h" extern __declspec(__nothrow) char *strchr(const char * , int ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) size_t strcspn(const char * , const char * ) __attribute__((__nonnull__(1,2))); #line 232 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\string.h" extern __declspec(__nothrow) char *strpbrk(const char * , const char * ) __attribute__((__nonnull__(1,2))); #line 247 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\string.h" extern __declspec(__nothrow) char *strrchr(const char * , int ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) size_t strspn(const char * , const char * ) __attribute__((__nonnull__(1,2))); #line 270 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\string.h" extern __declspec(__nothrow) char *strstr(const char * , const char * ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) char *strtok(char * __restrict , const char * __restrict ) __attribute__((__nonnull__(2))); extern __declspec(__nothrow) char *_strtok_r(char * , const char * , char ** ) __attribute__((__nonnull__(2,3))); extern __declspec(__nothrow) char *strtok_r(char * , const char * , char ** ) __attribute__((__nonnull__(2,3))); extern __declspec(__nothrow) void *memset(void * , int , size_t ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) char *strerror(int ); extern __declspec(__nothrow) size_t strlen(const char * ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) size_t strlcpy(char * , const char * , size_t ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) size_t strlcat(char * , const char * , size_t ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) void _membitcpybl(void * , const void * , int , int , size_t ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) void _membitcpybb(void * , const void * , int , int , size_t ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) void _membitcpyhl(void * , const void * , int , int , size_t ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) void _membitcpyhb(void * , const void * , int , int , size_t ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) void _membitcpywl(void * , const void * , int , int , size_t ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) void _membitcpywb(void * , const void * , int , int , size_t ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) void _membitmovebl(void * , const void * , int , int , size_t ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) void _membitmovebb(void * , const void * , int , int , size_t ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) void _membitmovehl(void * , const void * , int , int , size_t ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) void _membitmovehb(void * , const void * , int , int , size_t ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) void _membitmovewl(void * , const void * , int , int , size_t ) __attribute__((__nonnull__(1,2))); extern __declspec(__nothrow) void _membitmovewb(void * , const void * , int , int , size_t ) __attribute__((__nonnull__(1,2))); #line 502 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\string.h" #line 8 "..\\user\\src\\gpsnet.c" #line 1 "..\\user\\inc\\gpsnet.h" #line 5 "..\\user\\inc\\gpsnet.h" #line 20 "..\\user\\inc\\gpsnet.h" #line 44 "..\\user\\inc\\gpsnet.h" #line 101 "..\\user\\inc\\gpsnet.h" typedef struct { u8 gps_Rev_start; u8 gps_Rev_buf[355]; u16 gps_Rev_buftmp; }GPS_Buf; typedef struct { u16 start_frame; u16 Len_frame; u32 Bms_number; u8 orde; u8 farm_sor; u8 Type; u8 s_data[400]; u32 Recnumber; u8 end_signs; u32 check_sum; }Data_frame; typedef struct { struct { u8 socdd; u8 mostmp; u8 chggvol; u8 outqvol; u8 cellgtmp; u8 chgcurr; u8 outcurr; u8 singvol; u8 cellneitmp; u8 celldtmp; u8 Dchggvol; u8 Doutqvol; }strtu; struct { u32 CellTime; u8 sturt; u8 xinhao[9]; u8 Singcellvol[32][3]; u16 MosTmp; u16 QualiTmp; u16 CellTmp; u16 CellZvol; u16 Currdata; u8 Soc; u8 CellTmpSors; u16 Cellusnum; u16 Bms_rl; u32 CellOutrl; u16 CellZnum; u16 CellhitData; u16 CellStrtu; u16 Hitjlm; }Rev_data; struct { u16 ZvolG; u16 ZvolQ; u16 SingvolG; u16 SingvolGH; u16 SingvolGtime; u16 SingvolQ; u16 SingvolQH; u16 SingvolQtime; u16 CellXyc; u16 OutcurrG; u16 OutcurrGtime; u16 ChgcurrG; u16 ChgcurrGtime; u16 Equalivol; u16 Equalivolcc; u8 EqualiON; u16 PowTmp; u16 PowTmpH; u16 Equaltmpb; u16 EqualtmpH; u16 CellTmp; u16 CellChgTmpG; u16 CellChgTmpGH; u16 CellOutTmpG; u16 CellOutTmpGH; s16 ChgTmpD; s16 ChgTmpDH; s16 OutTmpD; s16 OutTmpDH; u8 Cellnum; u32 CellRl; u8 ChgMOS; u8 OutMOS; u16 CurrJZ; u8 BHBAddr; u8 Celltype; u16 SleepTime; u8 DRLNum; u8 Pass[10]; u8 ZChgON; u8 EquID[8]; u8 CCDat[4]; u32 SysTime; u8 soft_num[15]; u8 CurrjzONOFF; u32 Reali_Q; u8 XID[24]; u8 rest_xt; u8 rest_hf; u16 GpsDVol; u16 GpsDVolH; u8 ShiduKaiguan; u8 ShiduValueNow; u8 ShiduValueProtect; u8 ShortCurValue; u16 ShortCurDelay; u16 EnableSwitch; u16 CellOUT2CURR_G; u16 CellOUT2TIME_G; u16 CellDRLBEEP_Jiao; }RevWrite_data; }GPS_DATA; typedef struct { u16 AZvolG; u16 AZvolGH; u16 AZvolQ; u16 AZvolQH; u16 ASingvolG; u16 ASingvolGH; u16 ASingvolQ; u16 ASingvolQH; u16 ACellXyc; u16 ACellXycH; u16 AOutcurrG; u16 AOutcurrGH; u16 AChgcurrG; u16 AChgcurrGH; u16 APowTmp; u16 APowTmpH; u16 AEqualtmp; u16 AEqualtmpH; u16 ACellTmp; u16 ACellTmpH; u16 ACellChgTmpG; u16 ACellChgTmpGH; u16 ACellOutTmpG; u16 ACellOutTmpGH; s16 AChgTmpD; s16 AChgTmpDH; s16 AOutTmpD; s16 AOutTmpDH; u8 ADRLNum2; u16 Alarm1_Flg; u16 Alarm2_Flg; }RevWrite_Alarm_Data; typedef struct { u16 ZvolGH; u16 ZvolQH; u16 SingvolG2; u16 SingvolGH2; u16 SingvolGtime2; u16 SingvolQ2; u16 SingvolQH2; u16 SingvolQtime2; u16 CellXycH; u16 ChgcurrG2; u16 ChgcurrGtime2; u16 CellTmpH; u32 OutCurrJZ; u8 OutCurrjzONOFF; u8 ZvolG_Flg; u8 ZvolQ_Flg; u16 Prptection1_Flg; u16 Prptection2_Flg; }RevWrite_Pt_Data; typedef struct { u8 Singcell_Vol[32][3]; u16 Cmos_Tmp; u16 Pmos_Tmp; u16 Quali_Tmp; u16 Cell_Tmp[8]; u16 Cell_Zvol; u16 Curr_Data; u16 Prptection1_Dat; u16 Prptection2_Dat; u16 Prptection1_Hdat; u16 Prptection2_Hdat; u8 Prptection_Num; u8 Prptection_Count; }Rev_Err_Data; typedef struct { u8 bits_1[32]; u8 bits_2[32]; u8 bits_11[32]; u8 bits_3; u8 bits_4; u8 bits_3_2; u8 bits_4_2; u16 bits_1_cont_s[32]; u16 bits_2_cont_s[32]; u16 bits_11_cont_s[32]; u16 bits_3_cont_s; u16 bits_4_cont_s; u16 bits_3_2_cont_s; u16 bits_4_2_cont_s; u8 bits_4180[32]; u8 bits_3500[32]; u16 bits_4180_cont_s[32]; u16 bits_3500_cont_s[32]; }OVER_Time_Struct; extern unsigned char soft_num_ZF[16]; extern GPS_Buf gps_buf; extern GPS_Buf gps_buf_2; extern GPS_Buf JDY33_buf; extern GPS_DATA gps_data; extern OVER_Time_Struct Over_time; extern OVER_Time_Struct Vol4180_Over_time; extern OVER_Time_Struct Vol3500_Over_time; extern RevWrite_Alarm_Data Ala_Data; extern RevWrite_Pt_Data Pt_Data; extern Rev_Err_Data Err_Data; extern u8 stopstart_309Flag; extern unsigned char Pass_init[7]; extern unsigned char Pass_init_Lase[7]; extern unsigned char Pass_CJ[7]; extern unsigned char Pass_bit; extern void Send_GpsFun(u32 bmsnum,u8 orde,u8 type,u8 *buff,u16 len,u32 Recnumber); extern void NwDataHandle(GPS_Buf *gps_buf); extern void GpsPortNwDataHandle(void); extern void JDYPortNwDataHandle(void); extern void JDYNAMBSet(void); extern u8 Uart1NWDataFlag; extern u8 Uart2NWDataFlag; extern u8 Uart3NWDataFlag; extern u8 Uart1TTDataFlag; extern u8 Uart2TTDataFlag; extern u8 BLE_JDY_FLAG; extern u8 Uart1NW_GPS_StopFlag; extern u32 Uart1NW_GPS_StopTimeCount; extern u8 Alarm_SendFlag; extern u8 Alarm_GPS_2M; extern u32 TT_delay_Count; extern u8 TT_delay_flag; extern u8 Ble_TX_Control; #line 9 "..\\user\\src\\gpsnet.c" #line 1 "..\\user\\inc\\flash.h" #line 2 "..\\user\\inc\\flash.h" extern void flash_read_sys_flag(void); extern void flash_write_sys_flag(unsigned char write_unm); extern void flash_write_sys_flag_ALL(void); extern void flash_write_sys_flag_Init(void); extern void flash_write_sys_flag_Zvol(void); extern void flash_write_sys_flag_ALL_Init(void); extern void Flash_Write_Err_Flag2(unsigned char write_unm); extern u16 Over_Vol_Readflash; extern u16 Down_Vol_Readflash; extern u16 SOH_Readflash; #line 10 "..\\user\\src\\gpsnet.c" #line 1 "..\\user\\inc\\gpioinit.h" extern void base_gpio(void); extern void IIC_1_Init(unsigned char type); #line 11 "..\\user\\src\\gpsnet.c" #line 1 "..\\user\\inc\\datahand.h" #line 5 "..\\user\\inc\\datahand.h" extern u8 Chg_Flag; extern u8 Out_flag; extern u8 Chg_Lock; extern u8 Out_Lock; extern u8 Cell_Soc; extern float IntVolume; extern float OutSOC_xs; extern float ChgSOC_xs; extern float SOH_xs; extern float Q_hs; extern u16 Cell_usnum; extern u32 Cell_Outrl; extern u8 Off_lint; extern u8 Out_Dea; extern u8 Chg_Dea; extern u8 Cell_Tmp; extern u8 Pow_Tmp; extern u8 Chg_Moshit; extern u8 Out_Moshit; extern float Curr_Res; extern float Curr_Out_Res; extern u8 OverVolThenSetSoc100Flag; extern u8 FirstStart; extern u8 FirstStart_OV; extern u8 FirstSOC; extern u8 FirstSOC_Count; extern u8 ChgMos_bit_last; extern u8 ChgMos_bit; extern u8 OutMos_bit_last; extern u8 OutMos_bit; extern u16 Out_curr; extern u8 SOCinit; extern u8 SOCinit_bit; extern u16 Hitsturt; extern u8 HitFlag; extern u8 Hitsturt_2; extern u8 Hitsturt_22; extern u8 HitFlag_22; extern u8 dgpow_bit; extern u8 dgpow_Time_1; extern u8 dgpow_count; extern u8 dgPowL_TC; extern u8 tX_bit; extern u8 LED_1_bit; extern u8 LED_2_bit; extern u16 cell_vol_max; extern u16 cell_vol_min; extern u16 cell_vol_num; extern u8 cellmaxnum; extern u8 cellminnum; extern u16 ZeroCur_minute; extern u8 flag_485; extern u8 GpsHaveDateFlag; extern u8 CheckCurIsZero(void); extern u8 Init_SOC_8S; extern u8 Init_SOC_8S_flag; extern u16 Cores_Vol[32]; extern u8 ZhuDAlarm_Flag; extern s16 Cell_MT_Temp_MAX; extern s16 Cell_MT_Temp_Min; extern s16 Cell_MT_Temp_AVR; extern u8 Cell_MT_Temp_MAX_Num; extern u8 Cell_MT_Temp_Min_Num; extern void data309_485_GPS_handelFun(void); extern u16 HDCurr_num; extern u8 ZeroCur5Min; extern u8 HDCurr_Flag; extern void Shut309DSGMos(void); extern void Shut309CHGMos(void); extern void Free309DSGMos(void); extern void Free309CHGMos(void); extern u16 g_SysMilliSecCnt; extern u8 OverVolFlag; extern u8 LowVolFlag; extern u8 Vol4160Flag; extern u8 Vol3500Flag; extern u8 SpecChargerFlag; extern u8 FirstStart; extern u16 UartDataMsCnt; extern u16 UartDataMsCnt2; extern u16 UartDataTTCnt; extern u16 UartDataMsCnt3; extern u8 dahuo_flag; extern u8 UartDataMsCntEnable; extern u8 UartDataMsCntEnable2; extern u8 UartDataTTCntEnable2; extern u8 UartDataMsCntEnable3; extern u8 OpenOrCloseChgMosCmd; extern u8 OpenOrCloseDsgMosCmd; extern u8 ChgMosBreakCnt; extern u8 DsgMosBreakCnt; extern u8 ShiDuFlag_OVER; extern u8 GPS_Time_Start_Flag; extern u8 GPS_LowPower_Flag; extern u8 GPS_tongxin_Flag; extern u16 GPS_TimeCnt; extern u16 Sleep_Times; extern u8 Balance_Flg; extern u8 yc_timeflat; extern s16 Bms_Dat_Cores_Tmp1; extern s16 Bms_Dat_Cores_Tmp2; extern s16 Bms_Dat_Pdsg_Tmp; extern s16 Bms_Dat_Chg_Tmp; extern s16 Bms_Dat_Dsg_Tmp; extern u8 Bms_Chg_Det_Flag; extern u8 P_Sleep_Flg; extern u16 Sp_P_Sleep_Times; extern u8 updataSOC(void); extern u8 updataCell_0SOC(void); extern signed int Get_Temp(u32 NTC_Res); extern u8 ReadMosState(void); extern void Software_Reset(void); #line 12 "..\\user\\src\\gpsnet.c" #line 1 "..\\user\\inc\\IIc.h" #line 5 "..\\user\\inc\\IIc.h" #line 6 "..\\user\\inc\\IIc.h" extern void MTPWrite_1(u8 SlaveID, u8 WrAddr, u8 WdBuf); extern void MTPWrite_2(u8 SlaveID, u8 WrAddr, u8 WdBuf); extern void MTPRead_1(u8 SlaveID, u8 RrAddr, u8 Length, u8 *RdBuf); extern void MTPRead_2(u8 SlaveID, u8 RrAddr, u8 Length, u8 *RdBuf); extern void ResetAFE_1(void); extern void ResetAFE_2(void); extern void MTPWrite_fun_1(u8 WrAddr, u8 Length, u8 *WrBuf); extern void MTPRead_fun_1(u8 RdAddr, u8 Length, u8 *RdBuf); extern void MTPWrite_fun_2(u8 WrAddr, u8 Length, u8 *WrBuf); extern void MTPRead_fun_2(u8 RdAddr, u8 Length, u8 *RdBuf); extern u8 AHTbuff[6]; extern u32 AHT_Tem; extern u32 AHT_Hum; extern void InitAHT10(void); extern u16 ReadAHT10(void); #line 13 "..\\user\\src\\gpsnet.c" #line 1 "..\\user\\inc\\Jdy_19.h" typedef enum { JDY_VER = 0, JDY_RST, JDY_DISC, JDY_MAC, JDY_BAUD, JDY_BOUD, JDY_SLEEP, JDY_NAME, JDY_STARTEN, JDY_ADVIN, JDY_HOSTEN, JDY_IBUUID, JDY_MAJOR, JDY_MINOR, JDY_IBPWR, JDY_DEFAULT, JDY_NULL, }JDY_19_CmdEum; typedef struct { JDY_19_CmdEum eum; char* cmd; }JDY_Cmd; typedef struct { unsigned int Jdy_globalTime; char Buff[30]; unsigned char Rev_Index; unsigned char Rev_Succe; unsigned char Is_Ok; unsigned char end_ok; unsigned char start_ok; }Jdy_Buff; extern Jdy_Buff Jdybuffs; extern char broad_name[]; extern char broad_name_last[9]; extern unsigned char broad_namenum; extern unsigned char broad_name_flag; extern void Jdy_Inde_Comfig(void); extern void Perconfig(void); extern void Rs485PortSetNewBleID(void); #line 14 "..\\user\\src\\gpsnet.c" #line 1 "..\\user\\inc\\iobind.h" #line 1 "..\\..\\nlib\\button/iobutton.h" #line 1 "..\\..\\nlib\\button/iocontrol.h" typedef struct { volatile unsigned int* inputIO; volatile unsigned int* outputIO; unsigned int validBit; }IOControlInfo; typedef struct { IOControlInfo* io[1]; unsigned int size; }IOInfo; extern IOInfo allIo; extern void InitIO(IOControlInfo* io, volatile unsigned int* input, volatile unsigned int* output, unsigned int validBit ); #line 5 "..\\..\\nlib\\button/iobutton.h" #line 1 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdBool.h" #line 25 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdBool.h" #line 6 "..\\..\\nlib\\button/iobutton.h" typedef void(*btnFuc)(void*); typedef struct { IOControlInfo io; unsigned int judgeTime; unsigned int timeout; unsigned int ltimeout; _Bool press; _Bool lpress; _Bool OnValid; btnFuc pressFuc; btnFuc releaseFuc; btnFuc lpressFuc; }IoButtonType; extern void FInitButton(IoButtonType* btn); extern _Bool isPress(IoButtonType* btn); extern void FButtonTask(IoButtonType* btn); #line 4 "..\\user\\inc\\iobind.h" #line 5 "..\\user\\inc\\iobind.h" extern IoButtonType Check[]; extern IOControlInfo SDA_1; extern IOControlInfo SCL_1; extern IOControlInfo SDA_2; extern IOControlInfo SCL_2; extern IOControlInfo SDA_3; extern IOControlInfo SCL_3; extern IOControlInfo VPRO_EN; extern IOControlInfo SHIP_EN; extern IOControlInfo GPRS_EN; extern IOControlInfo BLE_EN; extern IOControlInfo PDSG_EN; extern IOControlInfo PF_ADC_EN; extern IOControlInfo HOT_EN; extern IOControlInfo COM_EN; extern IOControlInfo POWER_EN; extern IOControlInfo LED_1; extern IOControlInfo LED_2; extern IOControlInfo COM_WAKEUP; extern IOControlInfo SW_IN; extern IOControlInfo CHG_DET; extern IOControlInfo DSG_CHG_WAKEUP; extern _Bool All_Flag[4]; extern void InitAllIO(void); extern void InputStructAssignment(void); extern void FButtonTasks(void); #line 15 "..\\user\\src\\gpsnet.c" #line 1 "..\\user\\inc\\SH367309.h" #line 5 "..\\user\\inc\\SH367309.h" #line 30 "..\\user\\inc\\SH367309.h" #line 61 "..\\user\\inc\\SH367309.h" typedef struct { struct { union { u8 datas; struct { u8 cn3_cn0 :4; u8 BAL :1; u8 OCPM :1; u8 ENMOS :1; u8 ENPCH :1; }bits; }Sconf1; union { u8 datas; struct { u8 EUVR :1; u8 OCRA :1; u8 CTLC1_0 :2; u8 DIS_PF :1; u8 UV_OP :1; u8 Res :1; u8 E0VB :1; }bits; }Sconf2; union { u16 datas; struct { u16 OV9_0 :10; u16 LDRT1_0 :2; u16 OVT3_0 :4; }bits; }Ovh_ovl; union { u16 datas; struct { u16 OVR9_0 :10; u16 Res :2; u16 UVT3_0 :4; }bits; }Ovrh_ovrl; u8 Uv; u8 Uvr; u8 Balv; u8 Prev; u8 Lov; u8 Pfv; union { u8 datas; struct { u8 CD1T3_0 :4; u8 OCD1V3_0 :4; }bits; }Ocd1V_ocd1t; union { u8 datats; struct { u8 OCD2T3_0 :4; u8 OCD2V3_0 :4; }bits; }Ocd2V_ocd2t; union { u8 datas; struct { u8 SCT3_0 :4; u8 SCV_3_0 :4; }bits; }Scv_sct; union { u8 datas; struct { u8 OCCT3_0 :4; u8 OCCV3_0 :4; }bits; }Occv_occt; union { u8 datas; struct { u8 PFT1_0 :2; u8 OCRT1_0 :2; u8 MOST1_0 :2; u8 CHS1_0 :2; }bits; }Most_ocrt_pft; char Otc; char Otcr; char Utc; char Utcr; char Otd; char Otdr; char Utd; char Utdr; }EEPROMWridata; struct { union { u8 datas; struct { u8 cn3_cn0 :4; u8 BAL :1; u8 OCPM :1; u8 ENMOS :1; u8 ENPCH :1; }bits; }Sconf1; union { u8 datas; struct { u8 EUVR :1; u8 OCRA :1; u8 CTLC1_0 :2; u8 DIS_PF :1; u8 UV_OP :1; u8 Res :1; u8 E0VB :1; }bits; }Sconf2; union { u16 datas; struct { u16 OV9_0 :10; u16 LDRT1_0 :2; u16 OVT3_0 :4; }bits; }Ovh_ovl; union { u16 datas; struct { u16 OVR9_0 :10; u16 Res :2; u16 UVT3_0 :4; }bits; }Ovrh_ovrl; u8 Uv; u8 Uvr; u8 Balv; u8 Prev; u8 Lov; u8 Pfv; union { u8 datas; struct { u8 CD1T3_0 :4; u8 OCD1V3_0 :4; }bits; }Ocd1V_ocd1t; union { u8 datats; struct { u8 OCD2T3_0 :4; u8 OCD2V3_0 :4; }bits; }Ocd2V_ocd2t; union { u8 datas; struct { u8 SCT3_0 :4; u8 SCV_3_0 :4; }bits; }Scv_sct; union { u8 datas; struct { u8 OCCT3_0 :4; u8 OCCV3_0 :4; }bits; }Occv_occt; union { u8 datas; struct { u8 PFT1_0 :2; u8 OCRT1_0 :2; u8 MOST1_0 :2; u8 CHS1_0 :2; }bits; }Most_ocrt_pft; char Otc; char Otcr; char Utc; char Utcr; char Otd; char Otdr; char Utd; char Utdr; char Tr; }EEPROMRevdata; struct { union { u8 datas; struct { u8 IDLE :1; u8 SLEEP :1; u8 ENWDT :1; u8 CADCON :1; u8 CHGMOS :1; u8 DSGMOS :1; u8 PCHMOS :1; u8 OCRC :1; }bits; }Conf; union { u16 datas; struct { u16 CB1 :1; u16 CB2 :1; u16 CB3 :1; u16 CB4 :1; u16 CB5 :1; u16 CB6 :1; u16 CB7 :1; u16 CB8 :1; u16 CB9 :1; u16 CB10 :1; u16 CB11 :1; u16 CB12 :1; u16 CB13 :1; u16 CB14 :1; u16 CB15 :1; u16 CB16 :1; }bits; }Balanceh_l; union { u8 datas; struct { u8 OV_FLG :1; u8 UV_FLG :1; u8 OCD_FLG :1; u8 LOAD_FLG :1; u8 OCC_FLG :1; u8 SC_FLG :1; u8 PF_FLG :1; u8 WDT_FLG :1; }bits; }Bflag1; union { u8 datas; struct { u8 UTC_FLG :1; u8 OTC_FLG :1; u8 UTD_FLG :1; u8 OTD_FLG :1; u8 VADC_FLG :1; u8 CADC_FLG :1; u8 WAKE_FLG :1; u8 RST_FLG :1; }bits; }Bflag2; union { u8 datas; struct { u8 WDT1_0 :2; }bits; }Rststat; }RAM_Wridata; struct { union { u8 datas; struct { u8 IDLE :1; u8 SLEEP :1; u8 ENWDT :1; u8 CADCON :1; u8 CHGMOS :1; u8 DSGMOS :1; u8 PCHMOS :1; u8 OCRC :1; }bits; }Conf; union { u16 datas; struct { u16 CB1 :1; u16 CB2 :1; u16 CB3 :1; u16 CB4 :1; u16 CB5 :1; u16 CB6 :1; u16 CB7 :1; u16 CB8 :1; u16 CB9 :1; u16 CB10 :1; u16 CB11 :1; u16 CB12 :1; u16 CB13 :1; u16 CB14 :1; u16 CB15 :1; u16 CB16 :1; }bits; }Balanceh_l; union { u8 datas; struct { u8 OV :1; u8 UV :1; u8 OCD1 :1; u8 OCD2 :1; u8 OCC :1; u8 SC :1; u8 PF :1; u8 WDT :1; }bits; }Bstrtus1; union { u8 datas; struct { u8 UTC :1; u8 OTC :1; u8 UTD :1; u8 OTD :1; u8 Ren :4; }bits; }Bstrtus2; union { u8 datas; struct { u8 DSG_FET :1; u8 CHG_FET :1; u8 PCHG_FET :1; u8 L0V :1; u8 EEPR_WR :1; u8 Ren :1; u8 DSGING :1; u8 CHGING :1; }bits; }Bstrtus3; u16 TEMP1h_l; u16 TEMP2h_l; u16 TEMP3h_l; u16 Curh_l; union { u16 cellvol[16]; struct { u16 cell1_vol; u16 cell2_vol; u16 cell3_vol; u16 cell4_vol; u16 cell5_vol; u16 cell6_vol; u16 cell7_vol; u16 cell8_vol; u16 cell9_vol; u16 cell10_vol; u16 cell11_vol; u16 cell12_vol; u16 cell13_vol; u16 cell14_vol; u16 cell15_vol; u16 cell16_vol; }cellbits; }Cell; u16 CADcdh_l; union { u8 datas; struct { u8 OV_FLG :1; u8 UV_FLG :1; u8 OCD_FLG :1; u8 LOAD_FLG :1; u8 OCC_FLG :1; u8 SC_FLG :1; u8 PF_FLG :1; u8 WDT_FLG :1; }bits; }Bflag1; union { u8 datas; struct { u8 UTC_FLG :1; u8 OTC_FLG :1; u8 UTD_FLG :1; u8 OTD_FLG :1; u8 VADC_FLG :1; u8 CADC_FLG :1; u8 WAKE_FLG :1; u8 RST_FLG :1; }bits; }Bflag2; union { u8 datas; struct { u8 WDT1_0 :2; }bits; }Rststat; }RAM_Revdata; }Data_309buf; extern Data_309buf data_309_A; extern Data_309buf data_309_B; extern u16 Cur_Offset; extern u8 Cur_Offset_Flg; extern u8 Cell_Rl_Flg; extern void RevResData(u8 num); extern void MTPRead_fun_1(u8 RdAddr, u8 Length, u8 *RdBuf); #line 16 "..\\user\\src\\gpsnet.c" _Bool Activate = 1; GPS_Buf gps_buf = {0}; GPS_Buf gps_buf_2 = {0}; GPS_Buf JDY33_buf = {0}; GPS_DATA gps_data = {0}; OVER_Time_Struct Over_time = {0}; RevWrite_Alarm_Data Ala_Data = {0}; RevWrite_Pt_Data Pt_Data = {0}; Rev_Err_Data Err_Data = {0}; u8 stopstart_309Flag = 0; u8 restartflag = 0; u8 num_sconf = 0; u8 SetACanshu = 0; u8 Pass_init[7] = {"123456"}; u8 Pass_init_Lase[7] = {"123456"}; u8 Pass_CJ[7] = {"553322"}; u8 Pass_bit = 0; u16 Gloa_SingvolG = 0; u16 Gloa_SingvolGH = 0; u16 Gloa_SingvolQ = 0; u16 Gloa_SingvolQH = 0; u8 Alarm_GPS_2M = 0; void Send_GpsFun(u32 bmsnum, u8 orde, u8 type, u8 *buff, u16 len, u32 Recnumber) { u16 index; u8 sendbuf[420] = {0}; Data_frame data_frame; data_frame.start_frame = 0x4C44; data_frame.Len_frame = 0x14 + len - 2; data_frame.Bms_number = bmsnum; data_frame.orde = orde; data_frame.farm_sor = 0x00; data_frame.Type = type; memcpy(data_frame.s_data, buff, len); data_frame.Recnumber = Recnumber; data_frame.end_signs = 0x48; data_frame.check_sum = 0; sendbuf[0] = (data_frame.start_frame >> 8); sendbuf[1] = data_frame.start_frame; sendbuf[2] = (data_frame.Len_frame >> 8); sendbuf[3] = data_frame.Len_frame; sendbuf[4] = (data_frame.Bms_number >> 24); sendbuf[5] = (data_frame.Bms_number >> 16); sendbuf[6] = (data_frame.Bms_number >> 8); sendbuf[7] = data_frame.Bms_number; sendbuf[8] = data_frame.orde; sendbuf[9] = data_frame.farm_sor; sendbuf[10] = data_frame.Type; memcpy(&sendbuf[11], data_frame.s_data, len); sendbuf[11 + len] = (data_frame.Recnumber >> 24); sendbuf[12 + len] = (data_frame.Recnumber >> 16); sendbuf[13 + len] = (data_frame.Recnumber >> 8); sendbuf[14 + len] = data_frame.Recnumber; sendbuf[15 + len] = data_frame.end_signs; for(index = 0; index < 0x14 + len - 4; index++) { data_frame.check_sum += sendbuf[index]; } sendbuf[16 + len] = 0x00; sendbuf[17 + len] = 0x00; sendbuf[18 + len] = (data_frame.check_sum >> 8); sendbuf[19 + len] = data_frame.check_sum; Send_TString_GPS(sendbuf, (u16)(0x14 + len)); } void GpsPortNwDataHandle(void) { if(gps_buf.gps_Rev_start == 1) { NwDataHandle(&gps_buf); Alarm_GPS_2M = 0; Uart1NWDataFlag = 0; Sleep_Times = gps_data.RevWrite_data.SleepTime; Sp_P_Sleep_Times = 0; } } void JDYPortNwDataHandle(void) { if(JDY33_buf.gps_Rev_start == 1) { NwDataHandle(&JDY33_buf); Uart3NWDataFlag = 0; Sleep_Times = gps_data.RevWrite_data.SleepTime; } } void JDYNAMBSet(void) { if(Jdybuffs.Rev_Succe == 1) { Jdybuffs.Rev_Succe = 0; Jdybuffs.Rev_Index = 0; Send_string_BLENamb(Jdybuffs.Buff); memset(Jdybuffs.Buff, 0, sizeof(Jdybuffs.Buff)); delay_ms(500); } } void NwDataHandle(GPS_Buf *gps_buf) { u16 data_len = 0; u32 crc_sum = 0; u32 Bms_num = 0; u16 index; u8 orde = 0; u8 b_addr = 0; u8 Type = 0; u32 recnum = 0; u8 sendbuffer[350]; u16 send_len = 0; if(gps_buf->gps_Rev_start == 1) { gps_buf->gps_Rev_start = 0; data_len = (u16)((gps_buf->gps_Rev_buf[2] << 8) | gps_buf->gps_Rev_buf[3]); for(index = 0; index < data_len + 2 - 4; index++) { crc_sum += gps_buf->gps_Rev_buf[index]; } if((u16)crc_sum == (u16)((gps_buf->gps_Rev_buf[data_len + 2 - 2] << 8) | gps_buf->gps_Rev_buf[data_len + 2 - 1])) { Bms_num = (u32)(((gps_buf->gps_Rev_buf[4] << 8) | (gps_buf->gps_Rev_buf[5])) * 65536 + ((gps_buf->gps_Rev_buf[6] << 8) | gps_buf->gps_Rev_buf[7])); orde = gps_buf->gps_Rev_buf[8]; b_addr = gps_buf->gps_Rev_buf[11]; recnum = (u32)(((gps_buf->gps_Rev_buf[data_len + 2 - 5 - 4] << 8) | (gps_buf->gps_Rev_buf[data_len + 2 - 5 - 3])) * 65536 + ((gps_buf->gps_Rev_buf[data_len + 2 - 5 - 2] << 8) | gps_buf->gps_Rev_buf[data_len + 2 - 5 - 1])); tX_bit |= 0x01; switch(orde) { case 0x01: { Type = 0x01; sendbuffer[0] = b_addr; send_len = 1; Activate = 1; Send_GpsFun(Bms_num, orde, Type, sendbuffer, send_len, recnum); } break; case 0x02: { if(Activate == 1) { Type = 0x01; memset(sendbuffer, 0, sizeof(sendbuffer)); switch(b_addr) { case 0x8e: gps_data.RevWrite_data.ZvolG = ((gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]); flash_write_sys_flag(10); break; case 0x8f: gps_data.RevWrite_data.ZvolQ = ((gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]); flash_write_sys_flag(11); break; case 0x90: gps_data.RevWrite_data.SingvolG = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(12); break; case 0x91: gps_data.RevWrite_data.SingvolGH = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(13); break; case 0x92: gps_data.RevWrite_data.SingvolGtime = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(14); break; case 0x93: gps_data.RevWrite_data.SingvolQ = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(15); break; case 0x94: gps_data.RevWrite_data.SingvolQH = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(16); break; case 0x95: gps_data.RevWrite_data.SingvolQtime = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(17); break; case 0x96: gps_data.RevWrite_data.CellXyc = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(18); break; case 0x97: gps_data.RevWrite_data.OutcurrG = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(19); break; case 0x98: gps_data.RevWrite_data.OutcurrGtime = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(20); break; case 0x99: gps_data.RevWrite_data.ChgcurrG = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(21); break; case 0x9a: gps_data.RevWrite_data.ChgcurrGtime = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(22); break; case 0x9b: gps_data.RevWrite_data.Equalivol = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(23); break; case 0x9c: gps_data.RevWrite_data.Equalivolcc = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(24); break; case 0x9d: gps_data.RevWrite_data.EqualiON = gps_buf->gps_Rev_buf[12]; flash_write_sys_flag(25); break; case 0x9e: gps_data.RevWrite_data.PowTmp = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(26); break; case 0x9f: gps_data.RevWrite_data.PowTmpH = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(27); break; case 0xa0: gps_data.RevWrite_data.Equaltmpb = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(28); break; case 0xa1: gps_data.RevWrite_data.EqualtmpH = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(29); break; case 0xa2: gps_data.RevWrite_data.CellTmp = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(30); break; case 0xa3: gps_data.RevWrite_data.CellChgTmpG = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(31); break; case 0xa4: gps_data.RevWrite_data.CellOutTmpG = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(32); break; case 0xa5: gps_data.RevWrite_data.ChgTmpD = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(33); break; case 0xa6: gps_data.RevWrite_data.ChgTmpDH = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(34); break; case 0xa7: gps_data.RevWrite_data.OutTmpD = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(35); break; case 0xa8: gps_data.RevWrite_data.OutTmpDH = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(36); break; case 0xa9: ((*VPRO_EN . outputIO) |= VPRO_EN . validBit); num_sconf = 0; SetACanshu = 0; num_sconf = gps_buf->gps_Rev_buf[12] & 0x0F; delay_ms(20); SetACanshu = (data_309_A.EEPROMRevdata.Sconf1.datas & 0xF0); SetACanshu = SetACanshu | num_sconf; MTPWrite_fun_1(0x00, 1, &SetACanshu); ((*VPRO_EN . outputIO) &= (~VPRO_EN . validBit)); ResetAFE_1(); if(gps_data.RevWrite_data.Cellnum != gps_buf->gps_Rev_buf[12]) { gps_data.RevWrite_data.ZvolG = gps_data.RevWrite_data.SingvolG / 10.0 * gps_buf->gps_Rev_buf[12]; gps_data.RevWrite_data.ZvolQ = gps_data.RevWrite_data.SingvolQ / 10.0 * gps_buf->gps_Rev_buf[12]; } gps_data.RevWrite_data.Cellnum = gps_buf->gps_Rev_buf[12]; flash_write_sys_flag(37); flash_write_sys_flag_Zvol(); break; case 0xaa: if(gps_data.RevWrite_data.CellRl != (u32)(((gps_buf->gps_Rev_buf[12] << 8) | (gps_buf->gps_Rev_buf[13])) * 65536 + ((gps_buf->gps_Rev_buf[14] << 8) | gps_buf->gps_Rev_buf[15]))) { SOCinit = 0; SOCinit_bit = 0; } gps_data.RevWrite_data.CellRl = (u32)(((gps_buf->gps_Rev_buf[12] << 8) | (gps_buf->gps_Rev_buf[13])) * 65536 + ((gps_buf->gps_Rev_buf[14] << 8) | gps_buf->gps_Rev_buf[15])); flash_write_sys_flag(38); if(gps_data.RevWrite_data.Reali_Q > gps_data.RevWrite_data.CellRl) gps_data.RevWrite_data.Reali_Q = gps_data.RevWrite_data.CellRl; break; case 0xab: gps_data.RevWrite_data.ChgMOS = gps_buf->gps_Rev_buf[12]; if(gps_data.RevWrite_data.ChgMOS == 1) { Chg_Lock = 0; if(ChgMos_bit == 0) { Free309CHGMos(); ChgMos_bit = 0; } else { if(Chg_Flag == 0) { Free309CHGMos(); ChgMos_bit = 0; } } } else { Chg_Lock = 1; Shut309CHGMos(); ChgMos_bit = 1; } flash_write_sys_flag(39); break; case 0xac: { gps_data.RevWrite_data.OutMOS = gps_buf->gps_Rev_buf[12]; if(gps_data.RevWrite_data.OutMOS == 1) { Out_Lock = 0; if(OutMos_bit == 0) { Free309DSGMos(); OutMos_bit = 0; } else { if(Out_flag == 0) { Free309DSGMos(); OutMos_bit = 0; } } } else { Out_Lock = 1; Shut309DSGMos(); OutMos_bit = 1; } flash_write_sys_flag(40); } break; case 0xad: gps_data.RevWrite_data.CurrJZ = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(41); break; case 0xae: gps_data.RevWrite_data.BHBAddr = gps_buf->gps_Rev_buf[12]; flash_write_sys_flag(42); break; case 0xaf: if(gps_data.RevWrite_data.Celltype != gps_buf->gps_Rev_buf[12]) { SOCinit_bit = 0; if(gps_buf->gps_Rev_buf[12] == 0) { gps_data.RevWrite_data.SingvolG = 3650; gps_data.RevWrite_data.SingvolGtime = 4; gps_data.RevWrite_data.SingvolGH = 3600; gps_data.RevWrite_data.SingvolQ = 2800; gps_data.RevWrite_data.SingvolQtime = 4; gps_data.RevWrite_data.SingvolQH = 2900; gps_data.RevWrite_data.ChgcurrG = 20; gps_data.RevWrite_data.ChgcurrGtime = 64; gps_data.RevWrite_data.OutcurrG = 60; gps_data.RevWrite_data.OutcurrGtime = 60; gps_data.RevWrite_data.CellOUT2CURR_G = 80; gps_data.RevWrite_data.CellOUT2TIME_G = 4; gps_data.RevWrite_data.CellXyc = 1000; gps_data.RevWrite_data.Equalivol = 3300; gps_data.RevWrite_data.Equalivolcc = 10; } else if(gps_buf->gps_Rev_buf[12] == 1) { gps_data.RevWrite_data.SingvolG = 4200; gps_data.RevWrite_data.SingvolGtime = 4; gps_data.RevWrite_data.SingvolGH = 4100; gps_data.RevWrite_data.SingvolQ = 2800; gps_data.RevWrite_data.SingvolQtime = 4; gps_data.RevWrite_data.SingvolQH = 2900; gps_data.RevWrite_data.ChgcurrG = 20; gps_data.RevWrite_data.ChgcurrGtime = 64; gps_data.RevWrite_data.OutcurrG = 60; gps_data.RevWrite_data.OutcurrGtime = 60; gps_data.RevWrite_data.CellOUT2CURR_G = 80; gps_data.RevWrite_data.CellOUT2TIME_G = 4; gps_data.RevWrite_data.CellXyc = 1000; gps_data.RevWrite_data.Equalivol = 4000; gps_data.RevWrite_data.Equalivolcc = 10; } else if(gps_buf->gps_Rev_buf[12] == 2) { gps_data.RevWrite_data.SingvolG = 2300; gps_data.RevWrite_data.SingvolGtime = 4; gps_data.RevWrite_data.SingvolGH = 2250; gps_data.RevWrite_data.SingvolQ = 1500; gps_data.RevWrite_data.SingvolQtime = 4; gps_data.RevWrite_data.SingvolQH = 1600; gps_data.RevWrite_data.ChgcurrG = 20; gps_data.RevWrite_data.ChgcurrGtime = 64; gps_data.RevWrite_data.OutcurrG = 60; gps_data.RevWrite_data.OutcurrGtime = 60; gps_data.RevWrite_data.CellOUT2CURR_G = 80; gps_data.RevWrite_data.CellOUT2TIME_G = 4; gps_data.RevWrite_data.CellXyc = 1000; gps_data.RevWrite_data.Equalivol = 2000; gps_data.RevWrite_data.Equalivolcc = 5; } } gps_data.RevWrite_data.Celltype = gps_buf->gps_Rev_buf[12]; flash_write_sys_flag(43); flash_write_sys_flag_Init(); break; case 0xb0: gps_data.RevWrite_data.SleepTime = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(44); Sleep_Times = gps_data.RevWrite_data.SleepTime; break; case 0xb1: gps_data.RevWrite_data.DRLNum = gps_buf->gps_Rev_buf[12]; flash_write_sys_flag(45); break; case 0xb2: memcpy(gps_data.RevWrite_data.Pass, &gps_buf->gps_Rev_buf[12], 10); flash_write_sys_flag(46); break; case 0xb3: gps_data.RevWrite_data.ZChgON = gps_buf->gps_Rev_buf[12]; if(gps_data.RevWrite_data.ZChgON >= 1) SpecChargerFlag = 1; else { HDCurr_Flag = 0; HDCurr_num = 0; SpecChargerFlag = 0; } flash_write_sys_flag(47); break; case 0xb4: memcpy(gps_data.RevWrite_data.EquID, &gps_buf->gps_Rev_buf[12], 8); flash_write_sys_flag(48); break; case 0xb5: memcpy(gps_data.RevWrite_data.CCDat, &gps_buf->gps_Rev_buf[12], 4); flash_write_sys_flag(49); break; case 0xb6: gps_data.RevWrite_data.SysTime = (u32)(((gps_buf->gps_Rev_buf[12] << 8) | (gps_buf->gps_Rev_buf[13])) * 65536 + ((gps_buf->gps_Rev_buf[14] << 8) | gps_buf->gps_Rev_buf[15])); flash_write_sys_flag(50); break; case 0xb8: gps_data.RevWrite_data.CurrjzONOFF = gps_buf->gps_Rev_buf[12]; break; case 0xb9: gps_data.RevWrite_data.Reali_Q = (u32)(((gps_buf->gps_Rev_buf[12] << 8) | (gps_buf->gps_Rev_buf[13])) * 65536 + ((gps_buf->gps_Rev_buf[14] << 8) | gps_buf->gps_Rev_buf[15])); flash_write_sys_flag(52); break; case 0xba: memcpy(gps_data.RevWrite_data.XID, &gps_buf->gps_Rev_buf[12], 24); flash_write_sys_flag(53); flash_write_sys_flag(54); flash_write_sys_flag(55); flash_write_sys_flag(56); break; case 0xbb: gps_data.RevWrite_data.rest_xt = gps_buf->gps_Rev_buf[12]; if(gps_data.RevWrite_data.rest_xt == 1) { restartflag = 1; ResetAFE_1(); ResetAFE_2(); __set_PRIMASK(1); NVIC_SystemReset(); } break; case 0xbc: gps_data.RevWrite_data.rest_hf = gps_buf->gps_Rev_buf[12]; if(gps_data.RevWrite_data.rest_hf == 1) { flash_write_sys_flag_ALL_Init(); } break; case 0xbd: break; case 0xbe: gps_data.RevWrite_data.GpsDVol = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(59); break; case 0xbf: gps_data.RevWrite_data.GpsDVolH = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(60); break; case 0xC0: gps_data.RevWrite_data.ShiduKaiguan = gps_buf->gps_Rev_buf[12]; flash_write_sys_flag(61); break; case 0xC2: gps_data.RevWrite_data.ShiduValueProtect = gps_buf->gps_Rev_buf[12]; flash_write_sys_flag(63); break; case 0xC3: gps_data.RevWrite_data.ShortCurValue = gps_buf->gps_Rev_buf[12]; flash_write_sys_flag(64); break; case 0xC4: gps_data.RevWrite_data.ShortCurDelay = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(65); break; case 0xC5: gps_data.RevWrite_data.EnableSwitch = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(66); break; case 0xC6: gps_data.RevWrite_data.CellOUT2CURR_G = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(67); break; case 0xC7: gps_data.RevWrite_data.CellOUT2TIME_G = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(68); break; case 0xC8: gps_data.RevWrite_data.CellDRLBEEP_Jiao = (gps_buf->gps_Rev_buf[12] << 8) | gps_buf->gps_Rev_buf[13]; flash_write_sys_flag(69); break; default: break; } sendbuffer[0] = b_addr; send_len = 1; Send_GpsFun(Bms_num, orde, Type, sendbuffer, send_len, recnum); if(restartflag == 1) { restartflag = 0; __set_PRIMASK(1); NVIC_SystemReset(); } } } break; case 0x03: if(Activate == 1) { Type = 0x01; memset(sendbuffer, 0, sizeof(sendbuffer)); switch(b_addr) { case 0x79: { u8 i; for(i = 0; i < gps_data.Rev_data.CellZnum; i++) { sendbuffer[i * 3 + 1] = gps_data.Rev_data.Singcellvol[i][0]; sendbuffer[i * 3 + 2] = gps_data.Rev_data.Singcellvol[i][1]; sendbuffer[i * 3 + 3] = gps_data.Rev_data.Singcellvol[i][2]; } send_len = gps_data.Rev_data.CellZnum * 3 + 1; } break; case 0x80: sendbuffer[1] = gps_data.Rev_data.MosTmp >> 8; sendbuffer[2] = gps_data.Rev_data.MosTmp; send_len = 3; break; case 0x81: sendbuffer[1] = gps_data.Rev_data.QualiTmp >> 8; sendbuffer[2] = gps_data.Rev_data.QualiTmp; send_len = 3; break; case 0x82: sendbuffer[1] = gps_data.Rev_data.CellTmp >> 8; sendbuffer[2] = gps_data.Rev_data.CellTmp; send_len = 3; break; case 0x83: sendbuffer[1] = gps_data.Rev_data.CellZvol >> 8; sendbuffer[2] = gps_data.Rev_data.CellZvol; send_len = 3; break; case 0x84: sendbuffer[1] = gps_data.Rev_data.Currdata >> 8; sendbuffer[2] = gps_data.Rev_data.Currdata; send_len = 3; break; case 0x85: sendbuffer[1] = gps_data.Rev_data.Soc; send_len = 2; break; case 0x86: sendbuffer[1] = gps_data.Rev_data.CellTmpSors; send_len = 2; break; case 0x87: sendbuffer[1] = gps_data.Rev_data.Cellusnum >> 8; sendbuffer[2] = gps_data.Rev_data.Cellusnum; send_len = 3; break; case 0x88: sendbuffer[1] = gps_data.Rev_data.Bms_rl >> 8; sendbuffer[2] = gps_data.Rev_data.Bms_rl; send_len = 3; break; case 0x89: sendbuffer[1] = 0; sendbuffer[2] = 0; sendbuffer[3] = SOH_Readflash >> 8; sendbuffer[4] = SOH_Readflash; send_len = 5; break; case 0x8a: sendbuffer[1] = gps_data.Rev_data.CellZnum >> 8; sendbuffer[2] = gps_data.Rev_data.CellZnum; send_len = 3; break; case 0x8b: if(HitFlag == 1) { sendbuffer[1] = Hitsturt >> 8; sendbuffer[2] = Hitsturt; HitFlag = 0; } else { sendbuffer[1] = gps_data.Rev_data.CellhitData >> 8; sendbuffer[2] = gps_data.Rev_data.CellhitData; } send_len = 3; break; case 0x8c: sendbuffer[1] = gps_data.Rev_data.CellStrtu >> 8; sendbuffer[2] = gps_data.Rev_data.CellStrtu; send_len = 3; break; case 0x8d: sendbuffer[1] = gps_data.Rev_data.Hitjlm >> 8; sendbuffer[2] = gps_data.Rev_data.Hitjlm; send_len = 3; break; case 0x8e: sendbuffer[1] = gps_data.RevWrite_data.ZvolG >> 8; sendbuffer[2] = gps_data.RevWrite_data.ZvolG; send_len = 3; break; case 0x8f: sendbuffer[1] = gps_data.RevWrite_data.ZvolQ >> 8; sendbuffer[2] = gps_data.RevWrite_data.ZvolQ; send_len = 3; break; case 0x90: sendbuffer[1] = gps_data.RevWrite_data.SingvolG >> 8; sendbuffer[2] = gps_data.RevWrite_data.SingvolG; send_len = 3; break; case 0x91: sendbuffer[1] = gps_data.RevWrite_data.SingvolGH >> 8; sendbuffer[2] = gps_data.RevWrite_data.SingvolGH; send_len = 3; break; case 0x92: sendbuffer[1] = gps_data.RevWrite_data.SingvolGtime >> 8; sendbuffer[2] = gps_data.RevWrite_data.SingvolGtime; send_len = 3; break; case 0x93: sendbuffer[1] = gps_data.RevWrite_data.SingvolQ >> 8; sendbuffer[2] = gps_data.RevWrite_data.SingvolQ; send_len = 3; break; case 0x94: sendbuffer[1] = gps_data.RevWrite_data.SingvolQH >> 8; sendbuffer[2] = gps_data.RevWrite_data.SingvolQH; send_len = 3; break; case 0x95: sendbuffer[1] = gps_data.RevWrite_data.SingvolQtime >> 8; sendbuffer[2] = gps_data.RevWrite_data.SingvolQtime; send_len = 3; break; case 0x96: sendbuffer[1] = gps_data.RevWrite_data.CellXyc >> 8; sendbuffer[2] = gps_data.RevWrite_data.CellXyc; send_len = 3; break; case 0x97: sendbuffer[1] = gps_data.RevWrite_data.OutcurrG >> 8; sendbuffer[2] = gps_data.RevWrite_data.OutcurrG; send_len = 3; break; case 0x98: sendbuffer[1] = gps_data.RevWrite_data.OutcurrGtime >> 8; sendbuffer[2] = gps_data.RevWrite_data.OutcurrGtime; send_len = 3; break; case 0x99: sendbuffer[1] = gps_data.RevWrite_data.ChgcurrG >> 8; sendbuffer[2] = gps_data.RevWrite_data.ChgcurrG; send_len = 3; break; case 0x9a: sendbuffer[1] = gps_data.RevWrite_data.ChgcurrGtime >> 8; sendbuffer[2] = gps_data.RevWrite_data.ChgcurrGtime; send_len = 3; break; case 0x9b: sendbuffer[1] = gps_data.RevWrite_data.Equalivol >> 8; sendbuffer[2] = gps_data.RevWrite_data.Equalivol; send_len = 3; break; case 0x9c: sendbuffer[1] = gps_data.RevWrite_data.Equalivolcc >> 8; sendbuffer[2] = gps_data.RevWrite_data.Equalivolcc; send_len = 3; break; case 0x9d: sendbuffer[1] = gps_data.RevWrite_data.EqualiON; send_len = 2; break; case 0x9e: sendbuffer[1] = gps_data.RevWrite_data.PowTmp >> 8; sendbuffer[2] = gps_data.RevWrite_data.PowTmp; send_len = 3; break; case 0x9f: sendbuffer[1] = gps_data.RevWrite_data.PowTmpH >> 8; sendbuffer[2] = gps_data.RevWrite_data.PowTmpH; send_len = 3; break; case 0xa0: sendbuffer[1] = gps_data.RevWrite_data.Equaltmpb >> 8; sendbuffer[2] = gps_data.RevWrite_data.Equaltmpb; send_len = 3; break; case 0xa1: sendbuffer[1] = gps_data.RevWrite_data.EqualtmpH >> 8; sendbuffer[2] = gps_data.RevWrite_data.EqualtmpH; send_len = 3; break; case 0xa2: sendbuffer[1] = gps_data.RevWrite_data.CellTmp >> 8; sendbuffer[2] = gps_data.RevWrite_data.CellTmp; send_len = 3; break; case 0xa3: sendbuffer[1] = gps_data.RevWrite_data.CellChgTmpG >> 8; sendbuffer[2] = gps_data.RevWrite_data.CellChgTmpG; send_len = 3; break; case 0xa4: sendbuffer[1] = gps_data.RevWrite_data.CellOutTmpG >> 8; sendbuffer[2] = gps_data.RevWrite_data.CellOutTmpG; send_len = 3; break; case 0xa5: sendbuffer[1] = gps_data.RevWrite_data.ChgTmpD >> 8; sendbuffer[2] = gps_data.RevWrite_data.ChgTmpD; send_len = 3; break; case 0xa6: sendbuffer[1] = gps_data.RevWrite_data.ChgTmpDH >> 8; sendbuffer[2] = gps_data.RevWrite_data.ChgTmpDH; send_len = 3; break; case 0xa7: sendbuffer[1] = gps_data.RevWrite_data.OutTmpD >> 8; sendbuffer[2] = gps_data.RevWrite_data.OutTmpD; send_len = 3; break; case 0xa8: sendbuffer[1] = gps_data.RevWrite_data.OutTmpDH >> 8; sendbuffer[2] = gps_data.RevWrite_data.OutTmpDH; send_len = 3; break; case 0xa9: sendbuffer[1] = gps_data.RevWrite_data.Cellnum; send_len = 2; break; case 0xaa: sendbuffer[1] = gps_data.RevWrite_data.CellRl >> 24; sendbuffer[2] = gps_data.RevWrite_data.CellRl >> 16; sendbuffer[3] = gps_data.RevWrite_data.CellRl >> 8; sendbuffer[4] = gps_data.RevWrite_data.CellRl; send_len = 5; break; case 0xab: sendbuffer[1] = gps_data.RevWrite_data.ChgMOS; send_len = 2; break; case 0xac: sendbuffer[1] = gps_data.RevWrite_data.OutMOS; send_len = 2; break; case 0xad: sendbuffer[1] = gps_data.RevWrite_data.CurrJZ >> 8; sendbuffer[2] = gps_data.RevWrite_data.CurrJZ; send_len = 3; break; case 0xae: sendbuffer[1] = gps_data.RevWrite_data.BHBAddr; send_len = 2; break; case 0xaf: sendbuffer[1] = gps_data.RevWrite_data.Celltype; send_len = 2; break; case 0xb0: sendbuffer[1] = gps_data.RevWrite_data.SleepTime >> 8; sendbuffer[2] = gps_data.RevWrite_data.SleepTime; send_len = 3; break; case 0xb1: sendbuffer[1] = gps_data.RevWrite_data.DRLNum; send_len = 2; break; case 0xb2: memcpy(&sendbuffer[1], gps_data.RevWrite_data.Pass, 10); send_len = 11; break; case 0xb3: sendbuffer[1] = gps_data.RevWrite_data.ZChgON; send_len = 2; break; case 0xb4: memcpy(&sendbuffer[1], gps_data.RevWrite_data.EquID, 8); send_len = 9; break; case 0xb5: sendbuffer[1] = gps_data.RevWrite_data.CCDat[0]; sendbuffer[2] = gps_data.RevWrite_data.CCDat[1]; sendbuffer[3] = gps_data.RevWrite_data.CCDat[2]; sendbuffer[4] = gps_data.RevWrite_data.CCDat[3]; send_len = 5; break; case 0xb6: sendbuffer[1] = gps_data.RevWrite_data.SysTime >> 24; sendbuffer[2] = gps_data.RevWrite_data.SysTime >> 16; sendbuffer[3] = gps_data.RevWrite_data.SysTime >> 8; sendbuffer[4] = gps_data.RevWrite_data.SysTime; send_len = 5; break; case 0xb7: memcpy(gps_data.RevWrite_data.soft_num, soft_num_ZF, 15); memcpy(&sendbuffer[1], gps_data.RevWrite_data.soft_num, 15); send_len = 16; break; case 0xb8: sendbuffer[1] = gps_data.RevWrite_data.CurrjzONOFF; send_len = 2; break; case 0xb9: sendbuffer[1] = gps_data.RevWrite_data.Reali_Q >> 24; sendbuffer[2] = gps_data.RevWrite_data.Reali_Q >> 16; sendbuffer[3] = gps_data.RevWrite_data.Reali_Q >> 8; sendbuffer[4] = gps_data.RevWrite_data.Reali_Q; send_len = 5; break; case 0xba: memcpy(&sendbuffer[1], gps_data.RevWrite_data.XID, 24); send_len = 25; break; case 0xbe: sendbuffer[sendbuffer[1] + 222] = 0xbe; sendbuffer[sendbuffer[1] + 223] = gps_data.RevWrite_data.GpsDVol >> 8; sendbuffer[sendbuffer[1] + 224] = gps_data.RevWrite_data.GpsDVol; send_len = 3; break; case 0xbf: sendbuffer[sendbuffer[1] + 225] = 0xbf; sendbuffer[sendbuffer[1] + 226] = gps_data.RevWrite_data.GpsDVolH >> 8; sendbuffer[sendbuffer[1] + 227] = gps_data.RevWrite_data.GpsDVolH; send_len = 3; break; case 0xC0: sendbuffer[1] = gps_data.RevWrite_data.ShiduKaiguan; send_len = 2; break; case 0xC1: sendbuffer[1] = gps_data.RevWrite_data.ShiduValueNow; send_len = 2; break; case 0xC2: sendbuffer[1] = gps_data.RevWrite_data.ShiduValueProtect; send_len = 2; break; case 0xC3: sendbuffer[1] = gps_data.RevWrite_data.ShortCurValue; send_len = 2; break; case 0xC4: sendbuffer[1] = gps_data.RevWrite_data.ShortCurDelay >> 8; sendbuffer[2] = gps_data.RevWrite_data.ShortCurDelay; send_len = 3; break; case 0xC5: sendbuffer[1] = gps_data.RevWrite_data.EnableSwitch >> 8; sendbuffer[2] = gps_data.RevWrite_data.EnableSwitch; send_len = 3; break; case 0xC6: sendbuffer[1] = gps_data.RevWrite_data.CellOUT2CURR_G >> 8; sendbuffer[2] = gps_data.RevWrite_data.CellOUT2CURR_G; send_len = 3; break; case 0xC7: sendbuffer[1] = gps_data.RevWrite_data.CellOUT2TIME_G >> 8; sendbuffer[2] = gps_data.RevWrite_data.CellOUT2TIME_G; send_len = 3; break; case 0xC8: sendbuffer[1] = gps_data.RevWrite_data.CellDRLBEEP_Jiao >> 8; sendbuffer[2] = gps_data.RevWrite_data.CellDRLBEEP_Jiao; send_len = 3; break; default: break; } sendbuffer[0] = b_addr; Send_GpsFun(Bms_num, orde, Type, sendbuffer, send_len, recnum); } break; case 0x05: { switch(b_addr) { case 0xE0: if((Pass_init[0] == gps_buf->gps_Rev_buf[12]) && (Pass_init[1] == gps_buf->gps_Rev_buf[13]) && (Pass_init[2] == gps_buf->gps_Rev_buf[14]) && (Pass_init[3] == gps_buf->gps_Rev_buf[15]) && (Pass_init[4] == gps_buf->gps_Rev_buf[16]) && (Pass_init[5] == gps_buf->gps_Rev_buf[17]) ) { sendbuffer[1] = 1; } else sendbuffer[1] = 0; if(sendbuffer[1] == 0) { if((Pass_CJ[0] == gps_buf->gps_Rev_buf[12]) && (Pass_CJ[1] == gps_buf->gps_Rev_buf[13]) && (Pass_CJ[2] == gps_buf->gps_Rev_buf[14]) && (Pass_CJ[3] == gps_buf->gps_Rev_buf[15]) && (Pass_CJ[4] == gps_buf->gps_Rev_buf[16]) && (Pass_CJ[5] == gps_buf->gps_Rev_buf[17]) ) { sendbuffer[1] = 1; } else sendbuffer[1] = 0; } Pass_bit = 0; break; case 0xE1: if((Pass_init[0] == gps_buf->gps_Rev_buf[12]) && (Pass_init[1] == gps_buf->gps_Rev_buf[13]) && (Pass_init[2] == gps_buf->gps_Rev_buf[14]) && (Pass_init[3] == gps_buf->gps_Rev_buf[15]) && (Pass_init[4] == gps_buf->gps_Rev_buf[16]) && (Pass_init[5] == gps_buf->gps_Rev_buf[17]) ) { sendbuffer[1] = 1; Pass_bit = 1; } else { sendbuffer[1] = 0; Pass_bit = 0; } break; case 0xE2: { u8 i = 0; memcpy(&Pass_init_Lase[0], &gps_buf->gps_Rev_buf[12], 6); if(Pass_bit == 1) { for(i = 0; i < 6; i++) { Pass_init[i] = Pass_init_Lase[i]; } flash_write_sys_flag(58); Pass_bit = 0; sendbuffer[1] = 1; } else sendbuffer[1] = 0; } break; } Type = 0x01; sendbuffer[0] = b_addr; send_len = 2; Send_GpsFun(Bms_num, orde, Type, sendbuffer, send_len, recnum); } break; case 0x06: if(Activate == 1) { u8 i; Type = 0x01; memset(sendbuffer, 0, sizeof(sendbuffer)); sendbuffer[0] = 0x79; sendbuffer[1] = gps_data.Rev_data.CellZnum * 3; for(i = 0; i < gps_data.Rev_data.CellZnum; i++) { sendbuffer[i * 3 + 2] = gps_data.Rev_data.Singcellvol[i][0]; sendbuffer[i * 3 + 3] = gps_data.Rev_data.Singcellvol[i][1]; sendbuffer[i * 3 + 4] = gps_data.Rev_data.Singcellvol[i][2]; } sendbuffer[sendbuffer[1] + 2] = 0x80; sendbuffer[sendbuffer[1] + 3] = gps_data.Rev_data.MosTmp >> 8; sendbuffer[sendbuffer[1] + 4] = gps_data.Rev_data.MosTmp; sendbuffer[sendbuffer[1] + 5] = 0x81; sendbuffer[sendbuffer[1] + 6] = gps_data.Rev_data.QualiTmp >> 8; sendbuffer[sendbuffer[1] + 7] = gps_data.Rev_data.QualiTmp; sendbuffer[sendbuffer[1] + 8] = 0x82; sendbuffer[sendbuffer[1] + 9] = gps_data.Rev_data.CellTmp >> 8; sendbuffer[sendbuffer[1] + 10] = gps_data.Rev_data.CellTmp; sendbuffer[sendbuffer[1] + 11] = 0x83; sendbuffer[sendbuffer[1] + 12] = gps_data.Rev_data.CellZvol >> 8; sendbuffer[sendbuffer[1] + 13] = gps_data.Rev_data.CellZvol; sendbuffer[sendbuffer[1] + 14] = 0x84; sendbuffer[sendbuffer[1] + 15] = gps_data.Rev_data.Currdata >> 8; sendbuffer[sendbuffer[1] + 16] = gps_data.Rev_data.Currdata; sendbuffer[sendbuffer[1] + 17] = 0x85; sendbuffer[sendbuffer[1] + 18] = gps_data.Rev_data.Soc; sendbuffer[sendbuffer[1] + 19] = 0x86; sendbuffer[sendbuffer[1] + 20] = gps_data.Rev_data.CellTmpSors; sendbuffer[sendbuffer[1] + 21] = 0x87; sendbuffer[sendbuffer[1] + 22] = gps_data.Rev_data.Cellusnum >> 8; sendbuffer[sendbuffer[1] + 23] = gps_data.Rev_data.Cellusnum; sendbuffer[sendbuffer[1] + 24] = 0x89; sendbuffer[sendbuffer[1] + 25] = 0; sendbuffer[sendbuffer[1] + 26] = 0; sendbuffer[sendbuffer[1] + 27] = SOH_Readflash >> 8; sendbuffer[sendbuffer[1] + 28] = SOH_Readflash; sendbuffer[sendbuffer[1] + 29] = 0x8a; sendbuffer[sendbuffer[1] + 30] = gps_data.Rev_data.CellZnum >> 8; sendbuffer[sendbuffer[1] + 31] = gps_data.Rev_data.CellZnum; sendbuffer[sendbuffer[1] + 32] = 0x8b; if(HitFlag == 1) { sendbuffer[sendbuffer[1] + 33] = Hitsturt >> 8; sendbuffer[sendbuffer[1] + 34] = Hitsturt; HitFlag = 0; } else { sendbuffer[sendbuffer[1] + 33] = gps_data.Rev_data.CellhitData >> 8; sendbuffer[sendbuffer[1] + 34] = gps_data.Rev_data.CellhitData; } sendbuffer[sendbuffer[1] + 35] = 0x8c; sendbuffer[sendbuffer[1] + 36] = gps_data.Rev_data.CellStrtu >> 8; sendbuffer[sendbuffer[1] + 37] = gps_data.Rev_data.CellStrtu; sendbuffer[sendbuffer[1] + 38] = 0x8e; sendbuffer[sendbuffer[1] + 39] = gps_data.RevWrite_data.ZvolG >> 8; sendbuffer[sendbuffer[1] + 40] = gps_data.RevWrite_data.ZvolG; sendbuffer[sendbuffer[1] + 41] = 0x8f; sendbuffer[sendbuffer[1] + 42] = gps_data.RevWrite_data.ZvolQ >> 8; sendbuffer[sendbuffer[1] + 43] = gps_data.RevWrite_data.ZvolQ; sendbuffer[sendbuffer[1] + 44] = 0x90; sendbuffer[sendbuffer[1] + 45] = gps_data.RevWrite_data.SingvolG >> 8; sendbuffer[sendbuffer[1] + 46] = gps_data.RevWrite_data.SingvolG; sendbuffer[sendbuffer[1] + 47] = 0x91; sendbuffer[sendbuffer[1] + 48] = gps_data.RevWrite_data.SingvolGH >> 8; sendbuffer[sendbuffer[1] + 49] = gps_data.RevWrite_data.SingvolGH; sendbuffer[sendbuffer[1] + 50] = 0x92; sendbuffer[sendbuffer[1] + 51] = gps_data.RevWrite_data.SingvolGtime >> 8; sendbuffer[sendbuffer[1] + 52] = gps_data.RevWrite_data.SingvolGtime; sendbuffer[sendbuffer[1] + 53] = 0x93; sendbuffer[sendbuffer[1] + 54] = gps_data.RevWrite_data.SingvolQ >> 8; sendbuffer[sendbuffer[1] + 55] = gps_data.RevWrite_data.SingvolQ; sendbuffer[sendbuffer[1] + 56] = 0x94; sendbuffer[sendbuffer[1] + 57] = gps_data.RevWrite_data.SingvolQH >> 8; sendbuffer[sendbuffer[1] + 58] = gps_data.RevWrite_data.SingvolQH; sendbuffer[sendbuffer[1] + 59] = 0x95; sendbuffer[sendbuffer[1] + 60] = gps_data.RevWrite_data.SingvolQtime >> 8; sendbuffer[sendbuffer[1] + 61] = gps_data.RevWrite_data.SingvolQtime; sendbuffer[sendbuffer[1] + 62] = 0x96; sendbuffer[sendbuffer[1] + 63] = gps_data.RevWrite_data.CellXyc >> 8; sendbuffer[sendbuffer[1] + 64] = gps_data.RevWrite_data.CellXyc; sendbuffer[sendbuffer[1] + 65] = 0x97; sendbuffer[sendbuffer[1] + 66] = gps_data.RevWrite_data.OutcurrG >> 8; sendbuffer[sendbuffer[1] + 67] = gps_data.RevWrite_data.OutcurrG; sendbuffer[sendbuffer[1] + 68] = 0x98; sendbuffer[sendbuffer[1] + 69] = gps_data.RevWrite_data.OutcurrGtime >> 8; sendbuffer[sendbuffer[1] + 70] = gps_data.RevWrite_data.OutcurrGtime; sendbuffer[sendbuffer[1] + 71] = 0x99; sendbuffer[sendbuffer[1] + 72] = gps_data.RevWrite_data.ChgcurrG >> 8; sendbuffer[sendbuffer[1] + 73] = gps_data.RevWrite_data.ChgcurrG; sendbuffer[sendbuffer[1] + 74] = 0x9a; sendbuffer[sendbuffer[1] + 75] = gps_data.RevWrite_data.ChgcurrGtime >> 8; sendbuffer[sendbuffer[1] + 76] = gps_data.RevWrite_data.ChgcurrGtime; sendbuffer[sendbuffer[1] + 77] = 0x9b; sendbuffer[sendbuffer[1] + 78] = gps_data.RevWrite_data.Equalivol >> 8; sendbuffer[sendbuffer[1] + 79] = gps_data.RevWrite_data.Equalivol; sendbuffer[sendbuffer[1] + 80] = 0x9c; sendbuffer[sendbuffer[1] + 81] = gps_data.RevWrite_data.Equalivolcc >> 8; sendbuffer[sendbuffer[1] + 82] = gps_data.RevWrite_data.Equalivolcc; sendbuffer[sendbuffer[1] + 83] = 0x9d; sendbuffer[sendbuffer[1] + 84] = gps_data.RevWrite_data.EqualiON; sendbuffer[sendbuffer[1] + 85] = 0x9e; sendbuffer[sendbuffer[1] + 86] = gps_data.RevWrite_data.PowTmp >> 8; sendbuffer[sendbuffer[1] + 87] = gps_data.RevWrite_data.PowTmp; sendbuffer[sendbuffer[1] + 88] = 0x9f; sendbuffer[sendbuffer[1] + 89] = gps_data.RevWrite_data.PowTmpH >> 8; sendbuffer[sendbuffer[1] + 90] = gps_data.RevWrite_data.PowTmpH; sendbuffer[sendbuffer[1] + 91] = 0xa0; sendbuffer[sendbuffer[1] + 92] = gps_data.RevWrite_data.Equaltmpb >> 8; sendbuffer[sendbuffer[1] + 93] = gps_data.RevWrite_data.Equaltmpb; sendbuffer[sendbuffer[1] + 94] = 0xa1; sendbuffer[sendbuffer[1] + 95] = gps_data.RevWrite_data.EqualtmpH >> 8; sendbuffer[sendbuffer[1] + 96] = gps_data.RevWrite_data.EqualtmpH; sendbuffer[sendbuffer[1] + 97] = 0xa2; sendbuffer[sendbuffer[1] + 98] = gps_data.RevWrite_data.CellTmp >> 8; sendbuffer[sendbuffer[1] + 99] = gps_data.RevWrite_data.CellTmp; sendbuffer[sendbuffer[1] + 100] = 0xa3; sendbuffer[sendbuffer[1] + 101] = gps_data.RevWrite_data.CellChgTmpG >> 8; sendbuffer[sendbuffer[1] + 102] = gps_data.RevWrite_data.CellChgTmpG; sendbuffer[sendbuffer[1] + 103] = 0xa4; sendbuffer[sendbuffer[1] + 104] = gps_data.RevWrite_data.CellOutTmpG >> 8; sendbuffer[sendbuffer[1] + 105] = gps_data.RevWrite_data.CellOutTmpG; sendbuffer[sendbuffer[1] + 106] = 0xa5; sendbuffer[sendbuffer[1] + 107] = gps_data.RevWrite_data.ChgTmpD >> 8; sendbuffer[sendbuffer[1] + 108] = gps_data.RevWrite_data.ChgTmpD; sendbuffer[sendbuffer[1] + 109] = 0xa6; sendbuffer[sendbuffer[1] + 110] = gps_data.RevWrite_data.ChgTmpDH >> 8; sendbuffer[sendbuffer[1] + 111] = gps_data.RevWrite_data.ChgTmpDH; sendbuffer[sendbuffer[1] + 112] = 0xa7; sendbuffer[sendbuffer[1] + 113] = gps_data.RevWrite_data.OutTmpD >> 8; sendbuffer[sendbuffer[1] + 114] = gps_data.RevWrite_data.OutTmpD; sendbuffer[sendbuffer[1] + 115] = 0xa8; sendbuffer[sendbuffer[1] + 116] = gps_data.RevWrite_data.OutTmpDH >> 8; sendbuffer[sendbuffer[1] + 117] = gps_data.RevWrite_data.OutTmpDH; sendbuffer[sendbuffer[1] + 118] = 0xa9; sendbuffer[sendbuffer[1] + 119] = gps_data.RevWrite_data.Cellnum; sendbuffer[sendbuffer[1] + 120] = 0xaa; sendbuffer[sendbuffer[1] + 121] = gps_data.RevWrite_data.CellRl >> 24; sendbuffer[sendbuffer[1] + 122] = gps_data.RevWrite_data.CellRl >> 16; sendbuffer[sendbuffer[1] + 123] = gps_data.RevWrite_data.CellRl >> 8; sendbuffer[sendbuffer[1] + 124] = gps_data.RevWrite_data.CellRl; sendbuffer[sendbuffer[1] + 125] = 0xab; sendbuffer[sendbuffer[1] + 126] = gps_data.RevWrite_data.ChgMOS; sendbuffer[sendbuffer[1] + 127] = 0xac; sendbuffer[sendbuffer[1] + 128] = gps_data.RevWrite_data.OutMOS; sendbuffer[sendbuffer[1] + 129] = 0xad; sendbuffer[sendbuffer[1] + 130] = gps_data.RevWrite_data.CurrJZ >> 8; sendbuffer[sendbuffer[1] + 131] = gps_data.RevWrite_data.CurrJZ; sendbuffer[sendbuffer[1] + 132] = 0xae; sendbuffer[sendbuffer[1] + 133] = gps_data.RevWrite_data.BHBAddr; sendbuffer[sendbuffer[1] + 134] = 0xaf; sendbuffer[sendbuffer[1] + 135] = gps_data.RevWrite_data.Celltype; sendbuffer[sendbuffer[1] + 136] = 0xb0; sendbuffer[sendbuffer[1] + 137] = gps_data.RevWrite_data.SleepTime >> 8; sendbuffer[sendbuffer[1] + 138] = gps_data.RevWrite_data.SleepTime; sendbuffer[sendbuffer[1] + 139] = 0xb1; sendbuffer[sendbuffer[1] + 140] = gps_data.RevWrite_data.DRLNum; sendbuffer[sendbuffer[1] + 141] = 0xb2; memcpy(&sendbuffer[sendbuffer[1] + 142], gps_data.RevWrite_data.Pass, 10); sendbuffer[sendbuffer[1] + 152] = 0xb3; sendbuffer[sendbuffer[1] + 153] = gps_data.RevWrite_data.ZChgON; sendbuffer[sendbuffer[1] + 154] = 0xb4; memcpy(&sendbuffer[sendbuffer[1] + 155], gps_data.RevWrite_data.EquID, 8); sendbuffer[sendbuffer[1] + 163] = 0xb5; sendbuffer[sendbuffer[1] + 164] = gps_data.RevWrite_data.CCDat[0]; sendbuffer[sendbuffer[1] + 165] = gps_data.RevWrite_data.CCDat[1]; sendbuffer[sendbuffer[1] + 166] = gps_data.RevWrite_data.CCDat[2]; sendbuffer[sendbuffer[1] + 167] = gps_data.RevWrite_data.CCDat[3]; sendbuffer[sendbuffer[1] + 168] = 0xb6; sendbuffer[sendbuffer[1] + 169] = gps_data.RevWrite_data.SysTime >> 24; sendbuffer[sendbuffer[1] + 170] = gps_data.RevWrite_data.SysTime >> 16; sendbuffer[sendbuffer[1] + 171] = gps_data.RevWrite_data.SysTime >> 8; sendbuffer[sendbuffer[1] + 172] = gps_data.RevWrite_data.SysTime; sendbuffer[sendbuffer[1] + 173] = 0xb7; memcpy(gps_data.RevWrite_data.soft_num, soft_num_ZF, 15); memcpy(&sendbuffer[sendbuffer[1] + 174], gps_data.RevWrite_data.soft_num, 15); sendbuffer[sendbuffer[1] + 189] = 0xb8; sendbuffer[sendbuffer[1] + 190] = gps_data.RevWrite_data.CurrjzONOFF; sendbuffer[sendbuffer[1] + 191] = 0xb9; sendbuffer[sendbuffer[1] + 192] = gps_data.RevWrite_data.Reali_Q >> 24; sendbuffer[sendbuffer[1] + 193] = gps_data.RevWrite_data.Reali_Q >> 16; sendbuffer[sendbuffer[1] + 194] = gps_data.RevWrite_data.Reali_Q >> 8; sendbuffer[sendbuffer[1] + 195] = gps_data.RevWrite_data.Reali_Q; sendbuffer[sendbuffer[1] + 196] = 0xba; memcpy(&sendbuffer[sendbuffer[1] + 197], gps_data.RevWrite_data.XID, 24); send_len = sendbuffer[1] + 221; sendbuffer[sendbuffer[1] + 222] = 0xbe; sendbuffer[sendbuffer[1] + 223] = gps_data.RevWrite_data.GpsDVol >> 8; sendbuffer[sendbuffer[1] + 224] = gps_data.RevWrite_data.GpsDVol; sendbuffer[sendbuffer[1] + 225] = 0xbf; sendbuffer[sendbuffer[1] + 226] = gps_data.RevWrite_data.GpsDVolH >> 8; sendbuffer[sendbuffer[1] + 227] = gps_data.RevWrite_data.GpsDVolH; sendbuffer[sendbuffer[1] + 228] = 0xC0; sendbuffer[sendbuffer[1] + 229] = gps_data.RevWrite_data.ShiduKaiguan; sendbuffer[sendbuffer[1] + 230] = 0xC1; sendbuffer[sendbuffer[1] + 231] = gps_data.RevWrite_data.ShiduValueNow; sendbuffer[sendbuffer[1] + 232] = 0xC2; sendbuffer[sendbuffer[1] + 233] = gps_data.RevWrite_data.ShiduValueProtect; sendbuffer[sendbuffer[1] + 234] = 0xC3; sendbuffer[sendbuffer[1] + 235] = gps_data.RevWrite_data.ShortCurValue; sendbuffer[sendbuffer[1] + 236] = 0xC4; sendbuffer[sendbuffer[1] + 237] = gps_data.RevWrite_data.ShortCurDelay >> 8; sendbuffer[sendbuffer[1] + 238] = gps_data.RevWrite_data.ShortCurDelay; sendbuffer[sendbuffer[1] + 239] = 0xC5; sendbuffer[sendbuffer[1] + 240] = gps_data.RevWrite_data.EnableSwitch >> 8; sendbuffer[sendbuffer[1] + 241] = gps_data.RevWrite_data.EnableSwitch; sendbuffer[sendbuffer[1] + 242] = 0xC6; sendbuffer[sendbuffer[1] + 243] = gps_data.RevWrite_data.CellOUT2CURR_G >> 8; sendbuffer[sendbuffer[1] + 244] = gps_data.RevWrite_data.CellOUT2CURR_G; sendbuffer[sendbuffer[1] + 245] = 0xC7; sendbuffer[sendbuffer[1] + 246] = gps_data.RevWrite_data.CellOUT2TIME_G >> 8; sendbuffer[sendbuffer[1] + 247] = gps_data.RevWrite_data.CellOUT2TIME_G; sendbuffer[sendbuffer[1] + 248] = 0xC8; sendbuffer[sendbuffer[1] + 249] = gps_data.RevWrite_data.CellDRLBEEP_Jiao >> 8; sendbuffer[sendbuffer[1] + 250] = gps_data.RevWrite_data.CellDRLBEEP_Jiao; send_len = sendbuffer[1] + 251; Send_GpsFun(Bms_num, orde, Type, sendbuffer, send_len, recnum); } break; case 0x07: if(Activate == 1) { u8 CelltypeLast = 0; u8 CellnumLast = 0; u16 temp = 0; u8 WriteSingvolG_flag = 0; u8 WriteSingvolGH_flag = 0; u8 WriteSINGVOL_Q_flag = 0; u8 WriteSINGVOL_QH_flag = 0; Type = 0x01; memset(sendbuffer, 0, sizeof(sendbuffer)); if(gps_buf->gps_Rev_buf[11 + temp] == 0x8e) { gps_data.RevWrite_data.ZvolG = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0x8f) { gps_data.RevWrite_data.ZvolQ = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0x90) { Gloa_SingvolG = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); if(Gloa_SingvolG >= 2000 && Gloa_SingvolG <= 4500) { gps_data.RevWrite_data.SingvolG = Gloa_SingvolG; temp += 3; } else { WriteSingvolG_flag = 1; } } if(WriteSingvolG_flag == 0) { if(gps_buf->gps_Rev_buf[11 + temp] == 0x91) { Gloa_SingvolGH = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); if(Gloa_SingvolGH >= 2000 && Gloa_SingvolGH <= 4500) { gps_data.RevWrite_data.SingvolGH = Gloa_SingvolGH; temp += 3; } else { WriteSingvolGH_flag = 1; } } if(WriteSingvolGH_flag == 0) { if(gps_buf->gps_Rev_buf[11 + temp] == 0x92) { gps_data.RevWrite_data.SingvolGtime = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0x93) { Gloa_SingvolQ = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); if(Gloa_SingvolQ >= 1000 && Gloa_SingvolQ <= 3600) { gps_data.RevWrite_data.SingvolQ = Gloa_SingvolQ; temp += 3; } else { WriteSINGVOL_Q_flag = 1; } } if(WriteSINGVOL_Q_flag == 0) { if(gps_buf->gps_Rev_buf[11 + temp] == 0x94) { Gloa_SingvolQH = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); if(Gloa_SingvolQH >= 1000 && Gloa_SingvolQH <= 3600) { gps_data.RevWrite_data.SingvolQH = Gloa_SingvolQH; temp += 3; } else { WriteSINGVOL_QH_flag = 1; } } if(WriteSINGVOL_QH_flag == 0) { if(gps_buf->gps_Rev_buf[11 + temp] == 0x95) { gps_data.RevWrite_data.SingvolQtime = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0x96) { gps_data.RevWrite_data.CellXyc = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0x97) { gps_data.RevWrite_data.OutcurrG = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0x98) { gps_data.RevWrite_data.OutcurrGtime = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0x99) { gps_data.RevWrite_data.ChgcurrG = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0x9a) { gps_data.RevWrite_data.ChgcurrGtime = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0x9b) { gps_data.RevWrite_data.Equalivol = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0x9c) { gps_data.RevWrite_data.Equalivolcc = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0x9d) { gps_data.RevWrite_data.EqualiON = gps_buf->gps_Rev_buf[12 + temp]; temp += 2; } if(gps_buf->gps_Rev_buf[11 + temp] == 0x9e) { gps_data.RevWrite_data.PowTmp = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0x9f) { gps_data.RevWrite_data.PowTmpH = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xa0) { gps_data.RevWrite_data.Equaltmpb = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xa1) { gps_data.RevWrite_data.EqualtmpH = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xa2) { gps_data.RevWrite_data.CellTmp = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xa3) { gps_data.RevWrite_data.CellChgTmpG = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xa4) { gps_data.RevWrite_data.CellOutTmpG = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xa5) { gps_data.RevWrite_data.ChgTmpD = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xa6) { gps_data.RevWrite_data.ChgTmpDH = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xa7) { gps_data.RevWrite_data.OutTmpD = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xa8) { gps_data.RevWrite_data.OutTmpDH = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xa9) { CellnumLast = gps_buf->gps_Rev_buf[12 + temp]; ((*VPRO_EN . outputIO) |= VPRO_EN . validBit); num_sconf = 0; SetACanshu = 0; num_sconf = gps_buf->gps_Rev_buf[12 + temp] & 0x0F; delay_ms(20); SetACanshu = (data_309_A.EEPROMRevdata.Sconf1.datas & 0xF0); SetACanshu = SetACanshu | num_sconf; MTPWrite_fun_1(0x00, 1, &SetACanshu); ((*VPRO_EN . outputIO) &= (~VPRO_EN . validBit)); ResetAFE_1(); temp += 2; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xaa) { if(gps_data.RevWrite_data.CellRl != (u32)(((gps_buf->gps_Rev_buf[12 + temp] << 8) | (gps_buf->gps_Rev_buf[13 + temp])) * 65536 + ((gps_buf->gps_Rev_buf[14 + temp] << 8) | gps_buf->gps_Rev_buf[15 + temp]))) { SOCinit = 0; SOCinit_bit = 0; } gps_data.RevWrite_data.CellRl = (u32)(((gps_buf->gps_Rev_buf[12 + temp] << 8) | (gps_buf->gps_Rev_buf[13 + temp])) * 65536 + ((gps_buf->gps_Rev_buf[14 + temp] << 8) | gps_buf->gps_Rev_buf[15 + temp])); temp += 5; if(gps_data.RevWrite_data.Reali_Q > gps_data.RevWrite_data.CellRl) gps_data.RevWrite_data.Reali_Q = gps_data.RevWrite_data.CellRl; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xab) { gps_data.RevWrite_data.ChgMOS = gps_buf->gps_Rev_buf[12 + temp]; if(gps_data.RevWrite_data.ChgMOS == 1) { Chg_Lock = 0; if(ChgMos_bit == 0) { Free309CHGMos(); ChgMos_bit = 0; } else { if(Chg_Flag == 0) { Free309CHGMos(); ChgMos_bit = 0; } } } else { Chg_Lock = 1; Shut309CHGMos(); ChgMos_bit = 1; } temp += 2; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xac) { gps_data.RevWrite_data.OutMOS = gps_buf->gps_Rev_buf[12 + temp]; if(gps_data.RevWrite_data.OutMOS == 1) { Out_Lock = 0; if(OutMos_bit == 0) { Free309DSGMos(); OutMos_bit = 0; } else { if(Out_flag == 0) { Free309DSGMos(); OutMos_bit = 0; } } } else { Out_Lock = 1; Shut309DSGMos(); OutMos_bit = 1; } temp += 2; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xad) { gps_data.RevWrite_data.CurrJZ = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xae) { gps_data.RevWrite_data.BHBAddr = gps_buf->gps_Rev_buf[12 + temp]; temp += 2; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xaf) { CelltypeLast = gps_buf->gps_Rev_buf[12 + temp]; temp += 2; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xb0) { gps_data.RevWrite_data.SleepTime = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; Sleep_Times = gps_data.RevWrite_data.SleepTime; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xb1) { gps_data.RevWrite_data.DRLNum = gps_buf->gps_Rev_buf[12 + temp]; temp += 2; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xb2) { memcpy(gps_data.RevWrite_data.Pass, &gps_buf->gps_Rev_buf[12 + temp], 10); temp += 11; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xb3) { gps_data.RevWrite_data.ZChgON = gps_buf->gps_Rev_buf[12 + temp]; temp += 2; if(gps_data.RevWrite_data.ZChgON >= 1) SpecChargerFlag = 1; else { SpecChargerFlag = 0; HDCurr_Flag = 0; HDCurr_num = 0; } flash_write_sys_flag(47); } if(gps_buf->gps_Rev_buf[11 + temp] == 0xb4) { memcpy(gps_data.RevWrite_data.EquID, &gps_buf->gps_Rev_buf[12 + temp], 8); temp += 9; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xb5) { memcpy(gps_data.RevWrite_data.CCDat, &gps_buf->gps_Rev_buf[12 + temp], 4); temp += 5; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xb6) { gps_data.RevWrite_data.SysTime = (u32)(((gps_buf->gps_Rev_buf[12 + temp] << 8) | (gps_buf->gps_Rev_buf[13 + temp])) * 65536 + ((gps_buf->gps_Rev_buf[14 + temp] << 8) | gps_buf->gps_Rev_buf[15 + temp])); temp += 5; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xb8) { gps_data.RevWrite_data.CurrjzONOFF = gps_buf->gps_Rev_buf[12 + temp]; temp += 2; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xb9) { gps_data.RevWrite_data.Reali_Q = (u32)(((gps_buf->gps_Rev_buf[12 + temp] << 8) | (gps_buf->gps_Rev_buf[13 + temp])) * 65536 + ((gps_buf->gps_Rev_buf[14 + temp] << 8) | gps_buf->gps_Rev_buf[15 + temp])); temp += 5; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xba) { memcpy(gps_data.RevWrite_data.XID, &gps_buf->gps_Rev_buf[12 + temp], 24); temp += 25; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xbe) { gps_data.RevWrite_data.GpsDVol = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xbf) { gps_data.RevWrite_data.GpsDVolH = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xC0) { gps_data.RevWrite_data.ShiduKaiguan = gps_buf->gps_Rev_buf[12 + temp]; temp += 2; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xC2) { gps_data.RevWrite_data.ShiduValueProtect = gps_buf->gps_Rev_buf[12 + temp]; temp += 2; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xC3) { gps_data.RevWrite_data.ShortCurValue = gps_buf->gps_Rev_buf[12 + temp]; temp += 2; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xC4) { gps_data.RevWrite_data.ShortCurDelay = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xC5) { gps_data.RevWrite_data.EnableSwitch = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xC6) { gps_data.RevWrite_data.CellOUT2CURR_G = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xC7) { gps_data.RevWrite_data.CellOUT2TIME_G = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_buf->gps_Rev_buf[11 + temp] == 0xC8) { gps_data.RevWrite_data.CellDRLBEEP_Jiao = ((gps_buf->gps_Rev_buf[12 + temp] << 8) | gps_buf->gps_Rev_buf[13 + temp]); temp += 3; } if(gps_data.RevWrite_data.Celltype != CelltypeLast) { SOCinit_bit = 0; if(CelltypeLast == 0) { gps_data.RevWrite_data.SingvolG = 3650; gps_data.RevWrite_data.SingvolGtime = 4; gps_data.RevWrite_data.SingvolGH = 3600; gps_data.RevWrite_data.SingvolQ = 2800; gps_data.RevWrite_data.SingvolQtime = 4; gps_data.RevWrite_data.SingvolQH = 2900; gps_data.RevWrite_data.ChgcurrG = 20; gps_data.RevWrite_data.ChgcurrGtime = 64; gps_data.RevWrite_data.OutcurrG = 60; gps_data.RevWrite_data.OutcurrGtime = 60; gps_data.RevWrite_data.CellOUT2CURR_G = 80; gps_data.RevWrite_data.CellOUT2TIME_G = 4; gps_data.RevWrite_data.CellXyc = 1000; gps_data.RevWrite_data.Equalivol = 3300; gps_data.RevWrite_data.Equalivolcc = 10; } else if(CelltypeLast == 1) { gps_data.RevWrite_data.SingvolG = 4200; gps_data.RevWrite_data.SingvolGtime = 4; gps_data.RevWrite_data.SingvolGH = 4100; gps_data.RevWrite_data.SingvolQ = 2800; gps_data.RevWrite_data.SingvolQtime = 4; gps_data.RevWrite_data.SingvolQH = 2900; gps_data.RevWrite_data.ChgcurrG = 20; gps_data.RevWrite_data.ChgcurrGtime = 64; gps_data.RevWrite_data.OutcurrG = 60; gps_data.RevWrite_data.OutcurrGtime = 60; gps_data.RevWrite_data.CellOUT2CURR_G = 80; gps_data.RevWrite_data.CellOUT2TIME_G = 4; gps_data.RevWrite_data.CellXyc = 1000; gps_data.RevWrite_data.Equalivol = 4000; gps_data.RevWrite_data.Equalivolcc = 10; } else if(CelltypeLast == 2) { gps_data.RevWrite_data.SingvolG = 2300; gps_data.RevWrite_data.SingvolGtime = 4; gps_data.RevWrite_data.SingvolGH = 2250; gps_data.RevWrite_data.SingvolQ = 1500; gps_data.RevWrite_data.SingvolQtime = 4; gps_data.RevWrite_data.SingvolQH = 1600; gps_data.RevWrite_data.ChgcurrG = 20; gps_data.RevWrite_data.ChgcurrGtime = 64; gps_data.RevWrite_data.OutcurrG = 60; gps_data.RevWrite_data.OutcurrGtime = 60; gps_data.RevWrite_data.CellOUT2CURR_G = 80; gps_data.RevWrite_data.CellOUT2TIME_G = 4; gps_data.RevWrite_data.CellXyc = 1000; gps_data.RevWrite_data.Equalivol = 2000; gps_data.RevWrite_data.Equalivolcc = 5; } } if(gps_data.RevWrite_data.Cellnum != CellnumLast) { gps_data.RevWrite_data.ZvolG = gps_data.RevWrite_data.SingvolG / 10.0 * CellnumLast; gps_data.RevWrite_data.ZvolQ = gps_data.RevWrite_data.SingvolQ / 10.0 * CellnumLast; } gps_data.RevWrite_data.Celltype = CelltypeLast; gps_data.RevWrite_data.Cellnum = CellnumLast; flash_write_sys_flag_ALL(); sendbuffer[0] = 0xFF; send_len = 1; Send_GpsFun(Bms_num, orde, Type, sendbuffer, send_len, recnum); } } } } } break; case 0x0B: if(Activate == 1) { switch(b_addr) { case 0x01: stopstart_309Flag = gps_buf->gps_Rev_buf[12]; if(stopstart_309Flag == 1) IIC_1_Init(1); else IIC_1_Init(0); break; default: break; } } break; default: break; } } memset(gps_buf->gps_Rev_buf, 0, 355); } }