#line 1 "..\\user\\src\\can.c" #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 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 76 "..\\..\\template\\Libraries\\CMSIS\\stm32f10x_conf.h" #line 8298 "..\\..\\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 2 "..\\user\\src\\can.c" #line 3 "..\\user\\src\\can.c" #line 4 "..\\user\\src\\can.c" #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 5 "..\\user\\src\\can.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 7 "..\\user\\src\\can.c" #line 8 "..\\user\\src\\can.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 9 "..\\user\\src\\can.c" #line 1 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdlib.h" #line 54 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdlib.h" typedef unsigned int size_t; #line 70 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdlib.h" typedef unsigned short wchar_t; #line 91 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdlib.h" typedef struct div_t { int quot, rem; } div_t; typedef struct ldiv_t { long int quot, rem; } ldiv_t; typedef struct lldiv_t { long long quot, rem; } lldiv_t; #line 112 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdlib.h" #line 131 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdlib.h" extern __declspec(__nothrow) int __aeabi_MB_CUR_MAX(void); extern __declspec(__nothrow) double atof(const char * ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) int atoi(const char * ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) long int atol(const char * ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) long long atoll(const char * ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) double strtod(const char * __restrict , char ** __restrict ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) float strtof(const char * __restrict , char ** __restrict ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) long double strtold(const char * __restrict , char ** __restrict ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) long int strtol(const char * __restrict , char ** __restrict , int ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) unsigned long int strtoul(const char * __restrict , char ** __restrict , int ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) long long strtoll(const char * __restrict , char ** __restrict , int ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) unsigned long long strtoull(const char * __restrict , char ** __restrict , int ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) int rand(void); extern __declspec(__nothrow) void srand(unsigned int ); struct _rand_state { int __x[57]; }; extern __declspec(__nothrow) int _rand_r(struct _rand_state *); extern __declspec(__nothrow) void _srand_r(struct _rand_state *, unsigned int); struct _ANSI_rand_state { int __x[1]; }; extern __declspec(__nothrow) int _ANSI_rand_r(struct _ANSI_rand_state *); extern __declspec(__nothrow) void _ANSI_srand_r(struct _ANSI_rand_state *, unsigned int); extern __declspec(__nothrow) void *calloc(size_t , size_t ); extern __declspec(__nothrow) void free(void * ); extern __declspec(__nothrow) void *malloc(size_t ); extern __declspec(__nothrow) void *realloc(void * , size_t ); extern __declspec(__nothrow) int posix_memalign(void ** , size_t , size_t ); typedef int (*__heapprt)(void *, char const *, ...); extern __declspec(__nothrow) void __heapstats(int (* )(void * , char const * , ...), void * ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) int __heapvalid(int (* )(void * , char const * , ...), void * , int ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) __declspec(__noreturn) void abort(void); extern __declspec(__nothrow) int atexit(void (* )(void)) __attribute__((__nonnull__(1))); #line 436 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdlib.h" extern __declspec(__nothrow) __declspec(__noreturn) void exit(int ); extern __declspec(__nothrow) __declspec(__noreturn) void _Exit(int ); extern __declspec(__nothrow) char *getenv(const char * ) __attribute__((__nonnull__(1))); extern __declspec(__nothrow) int system(const char * ); extern void *bsearch(const void * , const void * , size_t , size_t , int (* )(const void *, const void *)) __attribute__((__nonnull__(1,2,5))); #line 524 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdlib.h" extern void qsort(void * , size_t , size_t , int (* )(const void *, const void *)) __attribute__((__nonnull__(1,4))); #line 553 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdlib.h" extern __declspec(__nothrow) __attribute__((const)) int abs(int ); extern __declspec(__nothrow) __attribute__((const)) div_t div(int , int ); extern __declspec(__nothrow) __attribute__((const)) long int labs(long int ); extern __declspec(__nothrow) __attribute__((const)) ldiv_t ldiv(long int , long int ); extern __declspec(__nothrow) __attribute__((const)) long long llabs(long long ); extern __declspec(__nothrow) __attribute__((const)) lldiv_t lldiv(long long , long long ); #line 634 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdlib.h" typedef struct __sdiv32by16 { int quot, rem; } __sdiv32by16; typedef struct __udiv32by16 { unsigned int quot, rem; } __udiv32by16; typedef struct __sdiv64by32 { int rem, quot; } __sdiv64by32; __value_in_regs extern __declspec(__nothrow) __attribute__((const)) __sdiv32by16 __rt_sdiv32by16( int , short int ); __value_in_regs extern __declspec(__nothrow) __attribute__((const)) __udiv32by16 __rt_udiv32by16( unsigned int , unsigned short ); __value_in_regs extern __declspec(__nothrow) __attribute__((const)) __sdiv64by32 __rt_sdiv64by32( int , unsigned int , int ); extern __declspec(__nothrow) unsigned int __fp_status(unsigned int , unsigned int ); extern __declspec(__nothrow) int mblen(const char * , size_t ); extern __declspec(__nothrow) int mbtowc(wchar_t * __restrict , const char * __restrict , size_t ); extern __declspec(__nothrow) int wctomb(char * , wchar_t ); extern __declspec(__nothrow) size_t mbstowcs(wchar_t * __restrict , const char * __restrict , size_t ) __attribute__((__nonnull__(2))); extern __declspec(__nothrow) size_t wcstombs(char * __restrict , const wchar_t * __restrict , size_t ) __attribute__((__nonnull__(2))); extern __declspec(__nothrow) void __use_realtime_heap(void); extern __declspec(__nothrow) void __use_realtime_division(void); extern __declspec(__nothrow) void __use_two_region_memory(void); extern __declspec(__nothrow) void __use_no_heap(void); extern __declspec(__nothrow) void __use_no_heap_region(void); extern __declspec(__nothrow) char const *__C_library_version_string(void); extern __declspec(__nothrow) int __C_library_version_number(void); #line 892 "C:\\Keil_v5\\ARM\\ARMCC\\Bin\\..\\include\\stdlib.h" #line 10 "..\\user\\src\\can.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 11 "..\\user\\src\\can.c" #line 1 "..\\user\\inc\\iobind.h" #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 12 "..\\user\\src\\can.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 13 "..\\user\\src\\can.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 14 "..\\user\\src\\can.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 15 "..\\user\\src\\can.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 16 "..\\user\\src\\can.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 17 "..\\user\\src\\can.c" #line 1 "..\\user\\inc\\can.h" #line 5 "..\\user\\inc\\can.h" #line 20 "..\\user\\inc\\can.h" extern u8 SN[18]; extern u8 RX_IT[8]; extern u8 Can_Out_Flag; extern u8 Can_Chg_Flag; extern u8 Can_OutChg_Flag; typedef struct { u32 sw_ver; u8 hw_ver; }ver_info; typedef struct { u8 sn[14]; }sn_t; typedef struct { u8 shift; u8 err_code; }mcu_state_t; typedef struct { u16 Parm1; u16 Parm2; u16 Parm3; u16 Parm4; }bms_u16_t; typedef struct { u8 Parm1; u8 Parm2; u8 Parm3; u8 Parm4; u8 Parm5; u8 Parm6; u8 Parm7; u8 Parm8; }bms_u8_t; typedef struct { u32 Stand_ID; u32 Exd_ID; u8 length; u8 Data[8]; u8 RTR; }can_rec_msg; typedef struct { u32 Stand_ID; u32 Exd_ID; u8 length; u8 Data[300]; u8 SendData[300]; u8 RTR; }can_long_msg; extern u8 Can_Rec_Flag; extern u8 BMS_Rec_Flag; extern u8 BMS_Long_Flag; extern can_rec_msg Can_Rec_Data; extern can_rec_msg BMS_Rec_Data; extern can_long_msg BMS_Long_Data; extern u8 start500_flag ; extern u8 end500_flag ; extern u8 start1000_flag ; extern u8 end1000_flag ; extern u8 Temp_Dif_Flg; extern void Can_Init(void); extern void Can_Stand_WriteData(u32 Stand_Can_ID, u8 *WriteData,u8 length); extern void Can_Ext_WriteData(u32 Exd_CAN_ID, u8 *WriteData, u8 length); extern void Can_Long_SendData(u32 Long_ID,u8 *Data,u16 DataLength) ; extern void MingTang500ms_CANSendData(void); extern void MingTang1000ms_CANSendData(void); extern void CHG_Power_SendData(void); extern void Sheng_Peng_100ms_CAN_Send_Data0(void); extern void Sheng_Peng_500ms_CAN_Send_Data1(void); extern void Sheng_Peng_500ms_CAN_Send_Data2(void); extern void Sheng_Peng_1000ms_CAN_Send_Data3(void); extern void Sheng_Peng_500ms_CAN_Send_Data4(void); extern void Sheng_Peng_500ms_CAN_Send_Data5(void); extern void Can_Data_Handle(can_rec_msg Can_buf); #line 18 "..\\user\\src\\can.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 19 "..\\user\\src\\can.c" #line 1 "..\\user\\inc\\Clock_App.h" #line 5 "..\\user\\inc\\Clock_App.h" typedef struct { u16 Year; u8 Month; u8 Date; u8 Week; u8 Hour; u8 Min; u8 Sec; }Calendar_Obj; u32 Mktimev(void); void Clock_Get(void); void Clock_Get25(void); extern Calendar_Obj Calendar;; #line 20 "..\\user\\src\\can.c" #line 1 "..\\user\\inc\\stmflash.h" #line 4 "..\\user\\inc\\stmflash.h" extern u16 STM_sector_size; u16 STMFLASH_ReadHalfWord(u32 faddr); void STMFLASH_WriteLenByte(u32 WriteAddr,u32 DataToWrite,u16 Len); u32 STMFLASH_ReadLenByte(u32 ReadAddr,u16 Len); void STMFLASH_Write(u32 WriteAddr,u16 *pBuffer,u16 NumToWrite); void STMFLASH_Read(u32 ReadAddr,u16 *pBuffer,u16 NumToRead); void Test_Write(u32 WriteAddr,u16 WriteData); extern void IapRead_num(unsigned char* pBuffer,unsigned int ReadAddr,unsigned int NumByteToRead); extern void IapProgram_num(unsigned char* pBuffer,unsigned int WriteAddr,unsigned int NumByteToWrite); extern void IapWrite_num(unsigned char* pBuffer, unsigned int WriteAddr, unsigned int NumByteToWrite); #line 21 "..\\user\\src\\can.c" u8 Data_MT[8] = {0}; u8 Data_MT2[8] = {0}; u8 Data_MT3[8] = {0}; u8 RX_IT[8] = {0}; u8 Data_MT_CHG_DSG = 0; u8 SN[18] = {0x53, 0x4E, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x30, 0x31, 0x32, 0x33, 0x34, 0x31, 0x32, 0x33, 0x34}; can_rec_msg Can_Rec_Data; can_rec_msg BMS_Rec_Data; can_long_msg BMS_Long_Data; u8 Can_Rec_Flag = 0; u8 BMS_Rec_Flag = 0; u8 BMS_Long_Flag = 0; float WS_CH_VOL = 0.0; u16 Temp3 = 0; u8 Can_OutChg_Flag = 0; u8 Can_Out_Flag = 3; u8 Can_Chg_Flag = 3; void CAN_GPIO_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(((uint32_t)0x00000004), ENABLE); RCC_APB1PeriphClockCmd(((uint32_t)0x02000000), ENABLE); GPIO_InitStructure.GPIO_Pin = ((uint16_t)0x1000); GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(((GPIO_TypeDef *) ((((uint32_t)0x40000000) + 0x10000) + 0x0800)), &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = ((uint16_t)0x0800); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(((GPIO_TypeDef *) ((((uint32_t)0x40000000) + 0x10000) + 0x0800)), &GPIO_InitStructure); } void CAN_NVIC_Configuration(void) { NVIC_InitTypeDef NVIC_InitStructure; NVIC_InitStructure.NVIC_IRQChannel = USB_LP_CAN1_RX0_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); } void Can_Init(void) { CAN_InitTypeDef CAN_InitStructure; CAN_FilterInitTypeDef CAN_FilterInitStructure; CAN_GPIO_Config(); CAN_NVIC_Configuration(); CAN_DeInit(((CAN_TypeDef *) (((uint32_t)0x40000000) + 0x6400))); CAN_StructInit(&CAN_InitStructure); CAN_InitStructure.CAN_TTCM = DISABLE; CAN_InitStructure.CAN_ABOM = DISABLE; CAN_InitStructure.CAN_AWUM = DISABLE; CAN_InitStructure.CAN_NART = DISABLE; CAN_InitStructure.CAN_RFLM = DISABLE; CAN_InitStructure.CAN_TXFP = DISABLE; CAN_InitStructure.CAN_Mode = ((uint8_t)0x00); CAN_InitStructure.CAN_SJW = ((uint8_t)0x00); CAN_InitStructure.CAN_BS1 = ((uint8_t)0x08); CAN_InitStructure.CAN_BS2 = ((uint8_t)0x07); CAN_InitStructure.CAN_Prescaler = 4; CAN_Init(((CAN_TypeDef *) (((uint32_t)0x40000000) + 0x6400)), &CAN_InitStructure); if (CAN_Init(((CAN_TypeDef *) (((uint32_t)0x40000000) + 0x6400)), &CAN_InitStructure) == ((uint8_t)0x00)) { } CAN_FilterInitStructure.CAN_FilterNumber = 0; CAN_FilterInitStructure.CAN_FilterMode = ((uint8_t)0x00); CAN_FilterInitStructure.CAN_FilterScale = ((uint8_t)0x01); CAN_FilterInitStructure.CAN_FilterIdHigh = 0x0000; CAN_FilterInitStructure.CAN_FilterIdLow = 0x0000; CAN_FilterInitStructure.CAN_FilterMaskIdHigh = 0x0000; CAN_FilterInitStructure.CAN_FilterMaskIdLow = 0x0000; CAN_FilterInitStructure.CAN_FilterFIFOAssignment = ((uint8_t)0x00); CAN_FilterInitStructure.CAN_FilterActivation = ENABLE; CAN_ITConfig(((CAN_TypeDef *) (((uint32_t)0x40000000) + 0x6400)), ((uint32_t)0x00000002), ENABLE); CAN_FilterInit(&CAN_FilterInitStructure); } void Can_Stand_WriteData(u32 Stand_Can_ID, u8 *WriteData, u8 length) { CanTxMsg TxMessage; if(length > 8) { return; } TxMessage.StdId = Stand_Can_ID; TxMessage.IDE = ((uint32_t)0x00000000); TxMessage.RTR = ((uint32_t)0x00000000); TxMessage.DLC = length; memcpy(&(TxMessage.Data[0]), &WriteData[0], length); CAN_Transmit(((CAN_TypeDef *) (((uint32_t)0x40000000) + 0x6400)), &TxMessage); } void Can_Ext_WriteData(u32 Exd_CAN_ID, u8 *WriteData, u8 length) { CanTxMsg Ext_TxMessage; if(length > 8) { return; } Ext_TxMessage.ExtId = Exd_CAN_ID; Ext_TxMessage.IDE = ((uint32_t)0x00000004); Ext_TxMessage.RTR = ((uint32_t)0x00000000); Ext_TxMessage.DLC = length; memcpy(&(Ext_TxMessage.Data[0]), &WriteData[0], length); CAN_Transmit(((CAN_TypeDef *) (((uint32_t)0x40000000) + 0x6400)), &Ext_TxMessage); } void Can_Long_SendData(u32 Long_ID, u8 *Data, u16 DataLength) { u8 i = 0; u8 m = 0; u8 last_Send_data_len = 0; u8 Data_Pack = 0; u16 CRC_Long = 0; if(DataLength % 7 == 0) { Data_Pack = DataLength / 7; last_Send_data_len = 7; } else { last_Send_data_len = DataLength % 7; Data_Pack = DataLength / 7 + 1; } CRC_Long = CRC_Long + (u8)(Data_Pack) + (u8)(Long_ID >> 24) + (u8)(Long_ID >> 16) + (u8)(Long_ID >> 8) + (u8)Long_ID; for(i = 0; i < DataLength; i++) { CRC_Long = CRC_Long + Data[i]; } BMS_Long_Data.SendData[0] = 0; BMS_Long_Data.SendData[1] = Data_Pack; BMS_Long_Data.SendData[2] = (u8)(Long_ID >> 24); BMS_Long_Data.SendData[3] = (u8)(Long_ID >> 16); BMS_Long_Data.SendData[4] = (u8)(Long_ID >> 8); BMS_Long_Data.SendData[5] = (u8)(Long_ID); BMS_Long_Data.SendData[6] = (u8)(CRC_Long >> 8); BMS_Long_Data.SendData[7] = (u8)(CRC_Long); Can_Ext_WriteData(Long_ID, &(BMS_Long_Data.SendData[0]), 8); for(m = 1; m < Data_Pack; m++) { BMS_Long_Data.SendData[8 + (m - 1) * 8] = m; BMS_Long_Data.SendData[9 + (m - 1) * 8] = Data[0 + (m - 1) * 7]; BMS_Long_Data.SendData[10 + (m - 1) * 8] = Data[1 + (m - 1) * 7]; BMS_Long_Data.SendData[11 + (m - 1) * 8] = Data[2 + (m - 1) * 7]; BMS_Long_Data.SendData[12 + (m - 1) * 8] = Data[3 + (m - 1) * 7]; BMS_Long_Data.SendData[13 + (m - 1) * 8] = Data[4 + (m - 1) * 7]; BMS_Long_Data.SendData[14 + (m - 1) * 8] = Data[5 + (m - 1) * 7]; BMS_Long_Data.SendData[15 + (m - 1) * 8] = Data[6 + (m - 1) * 7]; Can_Ext_WriteData(Long_ID, &(BMS_Long_Data.SendData[8 + (m - 1) * 8]), 8); delay_ms(20); } if(m == Data_Pack) { BMS_Long_Data.SendData[8 + (m - 1) * 8] = m; BMS_Long_Data.SendData[9 + (m - 1) * 8] = Data[0 + (m - 1) * 7]; BMS_Long_Data.SendData[10 + (m - 1) * 8] = Data[1 + (m - 1) * 7]; BMS_Long_Data.SendData[11 + (m - 1) * 8] = Data[2 + (m - 1) * 7]; BMS_Long_Data.SendData[12 + (m - 1) * 8] = Data[3 + (m - 1) * 7]; BMS_Long_Data.SendData[13 + (m - 1) * 8] = Data[4 + (m - 1) * 7]; BMS_Long_Data.SendData[14 + (m - 1) * 8] = Data[5 + (m - 1) * 7]; BMS_Long_Data.SendData[15 + (m - 1) * 8] = Data[6 + (m - 1) * 7]; Can_Ext_WriteData(Long_ID, &(BMS_Long_Data.SendData[8 + (m - 1) * 8]), last_Send_data_len + 1); delay_ms(20); } delay_ms(20); memset(&BMS_Long_Data.SendData, 0, sizeof(BMS_Long_Data.SendData)); } void MingTang500ms_CANSendData(void) { u16 Temp1 = 0; int16_t Temp2 = 0; Temp1 = 0; memset(Data_MT, 0, 8); if((Out_curr > 0) && (Bms_tt_data.Anal_quanuion.Anal_quan.Chg_Curr == 0)) { Data_MT[1] = 0x01 | Data_MT[1]; } if((Out_curr == 0) && (Bms_tt_data.Anal_quanuion.Anal_quan.Chg_Curr > 0) ) { Data_MT[1] = 0x02 | Data_MT[1]; } if((gps_data.Rev_data.CellhitData & 0x0004) || (gps_data.Rev_data.CellhitData & 0x0400) ) { Data_MT[1] = 0x04 | Data_MT[1]; } if((gps_data.Rev_data.CellhitData & 0x0008) || (gps_data.Rev_data.CellhitData & 0x0800) ) { Data_MT[1] = 0x08 | Data_MT[1]; } if(gps_data.Rev_data.CellhitData & 0x0020 ) { Data_MT[1] = 0x10 | Data_MT[1]; } if(gps_data.Rev_data.CellhitData & 0x0040 ) { Data_MT[1] = 0x20 | Data_MT[1]; } if(gps_data.Rev_data.CellhitData & 0x0010 ) { Data_MT[1] = 0x40 | Data_MT[1]; } if(gps_data.Rev_data.CellhitData & 0x0010 ) { Data_MT[1] = 0x80 | Data_MT[1]; } if(!(gps_data.Rev_data.CellStrtu & 0x0008) ) { Data_MT[0] = 0x01 | Data_MT[0]; } if(Bms_tt_data.Kaiguan[4] == 1 ) { Data_MT[0] = 0x02 | Data_MT[0]; } if(gps_data.Rev_data.CellhitData & 0x0010 ) { Data_MT[0] = 0x04 | Data_MT[0]; } if(gps_data.Rev_data.CellhitData & 0x0010 ) { Data_MT[0] = 0x08 | Data_MT[0]; } if(gps_data.Rev_data.CellhitData & 0x0002 ) { Data_MT[0] = 0x10 | Data_MT[0]; } if(gps_data.Rev_data.CellStrtu & 0x0001 ) { Data_MT[0] = 0x40 | Data_MT[0]; } if(gps_data.Rev_data.CellStrtu & 0x0002 ) { Data_MT[0] = 0x80 | Data_MT[0]; } Temp2 = 0; Temp2 = (10000 - gps_data.Rev_data.Currdata) / 10; Data_MT[2] = (u8)((Temp2) >> 8); Data_MT[3] = (u8)((Temp2)); Data_MT[4] = (u8)((gps_data.Rev_data.CellZvol / 10) >> 8); Data_MT[5] = (u8)((gps_data.Rev_data.CellZvol / 10)); Data_MT[6] = (u8)(Cell_MT_Temp_MAX ); Data_MT[7] = (u8)((Cell_MT_Temp_Min)); Can_Stand_WriteData(0x610, Data_MT, 8); delay_ms(10); } void MingTang1000ms_CANSendData(void) { u16 Temp1 = 0; memset(Data_MT2, 0, 8); memset(Data_MT3, 0, 8); Data_MT2[0] = (u8)((gps_data.Rev_data.Soc)); Data_MT2[1] = (u8)((SOH_Readflash)); Data_MT2[2] = (gps_data.RevWrite_data.OutcurrG * 10) >> 8; Data_MT2[3] = gps_data.RevWrite_data.OutcurrG * 10; Data_MT2[4] = (gps_data.RevWrite_data.ChgcurrG * 10) >> 8; Data_MT2[5] = gps_data.RevWrite_data.ChgcurrG * 10; WS_CH_VOL = gps_data.RevWrite_data.SingvolG / 100.0 ; Temp1 = (u16)(WS_CH_VOL * Bms_tt_data.Anal_quanuion.Anal_quan.Cores_num); Data_MT2[6] = (u8)(Temp1 >> 8); Data_MT2[7] = Temp1; Can_Stand_WriteData(0x101, Data_MT2, 8); delay_ms(10); Temp1 = 0; Temp3 = 0; Data_MT3[0] = (gps_data.RevWrite_data.CellRl * 100) >> 8; Data_MT3[1] = gps_data.RevWrite_data.CellRl * 100; Temp3 = gps_data.RevWrite_data.CellRl * (gps_data.Rev_data.Soc); Data_MT3[2] = (u8)(Temp3 >> 8); Data_MT3[3] = Temp3; Data_MT3[4] = gps_data.Rev_data.Cellusnum >> 8; Data_MT3[5] = gps_data.Rev_data.Cellusnum; if(Bms_tt_data.Anal_quanuion.Anal_quan.Chg_Curr > 50) { Data_MT3[6] = 0x01; } if(Bms_tt_data.Anal_quanuion.Anal_quan.Chg_Curr > 50) { Temp3 = (gps_data.RevWrite_data.CellRl * (gps_data.Rev_data.Soc) * 10); Data_MT3[7] = (u8)(Temp3 / Bms_tt_data.Anal_quanuion.Anal_quan.Chg_Curr); } Can_Stand_WriteData(0x612, Data_MT3, 8); delay_ms(10); } void CHG_Power_SendData(void) { } void USB_LP_CAN1_RX0_IRQHandler(void) { CanRxMsg RxMessage; CAN_Receive(((CAN_TypeDef *) (((uint32_t)0x40000000) + 0x6400)), 0, &RxMessage); Can_Rec_Data.Stand_ID = RxMessage.StdId; Can_Rec_Data.Exd_ID = RxMessage.ExtId; Can_Rec_Data.length = RxMessage.DLC; Can_Rec_Data.RTR = RxMessage.RTR; BMS_Rec_Data.Exd_ID = RxMessage.ExtId; BMS_Long_Data.Exd_ID = RxMessage.ExtId; if(Can_Rec_Data.Stand_ID == 0x112) { Can_OutChg_Flag = 1; memcpy(Can_Rec_Data.Data, &RxMessage.Data, RxMessage.DLC); if(Can_Rec_Data.Data[0] == 0x01) { Can_Out_Flag = 1; } else if(Can_Rec_Data.Data[0] == 0x02) { Can_Out_Flag = 0; } if(Can_Rec_Data.Data[1] == 0x01) { Can_Chg_Flag = 1; } else if(Can_Rec_Data.Data[1] == 0x02) { Can_Chg_Flag = 0; } } else if(Can_Rec_Data.Stand_ID == 0x111) { Can_Rec_Flag = 1; memcpy(Can_Rec_Data.Data, &RxMessage.Data, RxMessage.DLC); } } u8 DxGA_Flg[32]={0}; u8 DxQA_Flg[32]={0}; u8 DxG_Flg[32]={0}; u8 DxQ_Flg[32]={0}; u8 DxG2_Flg[32]={0}; u8 DxQ2_Flg[32]={0}; void Can_Send_All_Dat(void) { u8 All_Data[8]={0},i,Dz=32,j; u8 Dxz=0; s16 Bms_Dx_Tmp = 0; s16 Cores_Temper1[4] = {0}; for(i = 0; i < 32; i++) { memset(All_Data,0,8); All_Data[0] = i+1; All_Data[1] = i+1; All_Data[2] = gps_data.Rev_data.Singcellvol[i][1]; All_Data[3] = gps_data.Rev_data.Singcellvol[i][2]; Can_Stand_WriteData(0x113,All_Data,8); delay_ms(1); } memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Bms_Dat_Dsg_Tmp >> 8; All_Data[2] = Bms_Dat_Dsg_Tmp; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Bms_Dat_Chg_Tmp >> 8; All_Data[2] = Bms_Dat_Chg_Tmp; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = 0x27; All_Data[2] = 0x0F; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Bms_Dat_Cores_Tmp1 >> 8; All_Data[2] = Bms_Dat_Cores_Tmp1; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Bms_Dat_Cores_Tmp2 >> 8; All_Data[2] = Bms_Dat_Cores_Tmp2; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.Rev_data.QualiTmp >> 8; All_Data[2] = gps_data.Rev_data.QualiTmp; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Bms_Dat_Pdsg_Tmp >> 8; All_Data[2] = Bms_Dat_Pdsg_Tmp; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = 0x27; All_Data[2] = 0x0F; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = 0x27; All_Data[2] = 0x0F; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = 0x27; All_Data[2] = 0x0F; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = 0x27; All_Data[2] = 0x0F; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.Rev_data.CellZvol >> 8; All_Data[2] = gps_data.Rev_data.CellZvol; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.Rev_data.Currdata >> 8; All_Data[2] = gps_data.Rev_data.Currdata; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.Rev_data.Soc; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = SOH_Readflash >> 8; All_Data[2] = SOH_Readflash; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.Rev_data.Cellusnum >> 8; All_Data[2] = gps_data.Rev_data.Cellusnum; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.Rev_data.CellTmpSors; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.Rev_data.CellZnum >> 8; All_Data[2] = gps_data.Rev_data.CellZnum; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; if(gps_data.Rev_data.CellZvol >= gps_data.RevWrite_data.ZvolG) { Pt_Data.Prptection1_Flg |= 0x01; } if(gps_data.Rev_data.CellZvol <= Pt_Data.ZvolGH) { Pt_Data.Prptection1_Flg &= 0xFFFE; } if(gps_data.Rev_data.CellZvol <= gps_data.RevWrite_data.ZvolQ) { Pt_Data.Prptection1_Flg |= 0x02; } if(gps_data.Rev_data.CellZvol >= Pt_Data.ZvolQH) { Pt_Data.Prptection1_Flg &= 0xFFFD; } for(i = 0; i < gps_data.RevWrite_data.Cellnum; i ++) { if(Cores_Vol[i] > gps_data.RevWrite_data.SingvolG) { DxG_Flg[i] = 1; } if(Cores_Vol[i] < gps_data.RevWrite_data.SingvolGH) { DxG_Flg[i] = 0; } } Dxz = 0; for(i = 0; i < gps_data.RevWrite_data.Cellnum; i++) { Dxz += DxG_Flg[i]; } if(Dxz) { Pt_Data.Prptection1_Flg |= 0x04; } else { Pt_Data.Prptection1_Flg &= 0xFFFB; } for(i = 0; i < gps_data.RevWrite_data.Cellnum; i ++) { if(Cores_Vol[i] < gps_data.RevWrite_data.SingvolQ) { DxQ_Flg[i] = 1; } if(Cores_Vol[i] > gps_data.RevWrite_data.SingvolQH) { DxQ_Flg[i] = 0; } } Dxz = 0; for(i = 0; i < gps_data.RevWrite_data.Cellnum; i++) { Dxz += DxQ_Flg[i]; } if(Dxz) { Pt_Data.Prptection1_Flg |= 0x08; } else { Pt_Data.Prptection1_Flg &= 0xFFF7; } if((cell_vol_max - cell_vol_min) >= gps_data.RevWrite_data.CellXyc) { Pt_Data.Prptection1_Flg |= 0x10; } if((cell_vol_max - cell_vol_min) <= Pt_Data.CellXycH) { Pt_Data.Prptection1_Flg &= 0xFFEF; } if(Out_curr >= gps_data.RevWrite_data.OutcurrG * 100) { Pt_Data.Prptection1_Flg |= 0x20; } else { Pt_Data.Prptection1_Flg &= 0xFFDF; } if(Bms_tt_data.Anal_quanuion.Anal_quan.Chg_Curr >= gps_data.RevWrite_data.ChgcurrG * 100) { Pt_Data.Prptection1_Flg |= 0x40; } else { Pt_Data.Prptection1_Flg &= 0xFFBF; } if(Out_curr >= gps_data.RevWrite_data.ShortCurValue * 1000) { Pt_Data.Prptection1_Flg |= 0x80; } else { Pt_Data.Prptection1_Flg &= 0xFF7F; } if(Bms_tt_data.Anal_quanuion.Anal_quan.Card_Tmp >= gps_data.RevWrite_data.PowTmp) { Pt_Data.Prptection1_Flg |= 0x100; } if(Bms_tt_data.Anal_quanuion.Anal_quan.Card_Tmp <= gps_data.RevWrite_data.PowTmpH) { Pt_Data.Prptection1_Flg &= 0xFEFF; } if(Bms_tt_data.Anal_quanuion.Anal_quan.Ambi_Tmp >= gps_data.RevWrite_data.Equaltmpb) { Pt_Data.Prptection1_Flg |= 0x200; } if(Bms_tt_data.Anal_quanuion.Anal_quan.Ambi_Tmp <= gps_data.RevWrite_data.EqualtmpH) { Pt_Data.Prptection1_Flg &= 0xFDFF; } Cores_Temper1[0] = Bms_tt_data.Anal_quanuion.Anal_quan.Ambi_Tmp; Cores_Temper1[1] = Bms_Dat_Pdsg_Tmp; Cores_Temper1[2] = Bms_Dat_Cores_Tmp1; Cores_Temper1[3] = Bms_Dat_Cores_Tmp2; for(i = 0; i < 4; i++) { for(j = 0; j < (4 - i - 1); j++) { if(Cores_Temper1[j] > Cores_Temper1[j + 1]) { s16 temper2 = Cores_Temper1[j]; Cores_Temper1[j] = Cores_Temper1[j + 1]; Cores_Temper1[j + 1] = temper2; } } } Bms_Dx_Tmp = Cores_Temper1[3] - Cores_Temper1[0]; if(Bms_Dx_Tmp >= gps_data.RevWrite_data.CellTmp) { Pt_Data.Prptection1_Flg |= 0x400; } if(Bms_Dx_Tmp <= Pt_Data.CellTmpH) { Pt_Data.Prptection1_Flg &= 0xFBFF; } if(Cores_Temper1[3] >= gps_data.RevWrite_data.CellOutTmpG) { Pt_Data.Prptection1_Flg |= 0x800; } if(Cores_Temper1[3] <= gps_data.RevWrite_data.CellOutTmpGH) { Pt_Data.Prptection1_Flg &= 0xF7FF; } if(Cores_Temper1[0] <= gps_data.RevWrite_data.OutTmpD) { Pt_Data.Prptection1_Flg |= 0x1000; } if(Cores_Temper1[0] >= gps_data.RevWrite_data.OutTmpDH) { Pt_Data.Prptection1_Flg &= 0xEFFF; } if(Cores_Temper1[3] >= gps_data.RevWrite_data.CellChgTmpG) { Pt_Data.Prptection1_Flg |= 0x2000; } if(Cores_Temper1[3] <= gps_data.RevWrite_data.CellChgTmpGH) { Pt_Data.Prptection1_Flg &= 0xDFFF; } if(Cores_Temper1[0] <= gps_data.RevWrite_data.ChgTmpD) { Pt_Data.Prptection1_Flg |= 0x4000; } if(Cores_Temper1[0] >= gps_data.RevWrite_data.ChgTmpDH) { Pt_Data.Prptection1_Flg &= 0xBFFF; } if((gps_data.Rev_data.CellhitData & 0x1000)) { Pt_Data.Prptection1_Flg |= 0x8000; } else { Pt_Data.Prptection1_Flg &= 0x7FFF; } All_Data[1] = Pt_Data.Prptection1_Flg >> 8; All_Data[2] = Pt_Data.Prptection1_Flg; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; for(i = 0; i < gps_data.RevWrite_data.Cellnum; i ++) { if(Cores_Vol[i] > Pt_Data.SingvolG2) { DxG2_Flg[i] = 1; } if(Cores_Vol[i] < Pt_Data.SingvolGH2) { DxG2_Flg[i] = 0; } } Dxz = 0; for(i = 0; i < gps_data.RevWrite_data.Cellnum; i++) { Dxz += DxG2_Flg[i]; } if(Dxz) { Pt_Data.Prptection2_Flg |= 0x04; } else { Pt_Data.Prptection2_Flg &= 0xFFFB; } for(i = 0; i < gps_data.RevWrite_data.Cellnum; i ++) { if(Cores_Vol[i] < Pt_Data.SingvolQ2) { DxQ2_Flg[i] = 1; } if(Cores_Vol[i] > Pt_Data.SingvolQH2) { DxQ2_Flg[i] = 0; } } Dxz = 0; for(i = 0; i < gps_data.RevWrite_data.Cellnum; i++) { Dxz += DxQ2_Flg[i]; } if(Dxz) { Pt_Data.Prptection2_Flg |= 0x08; } else { Pt_Data.Prptection2_Flg &= 0xFFF7; } if(Out_curr >= gps_data.RevWrite_data.CellOUT2CURR_G * 100) { Pt_Data.Prptection2_Flg |= 0x20; } else { Pt_Data.Prptection2_Flg &= 0xFFDF; } if(Bms_tt_data.Anal_quanuion.Anal_quan.Chg_Curr >= Pt_Data.ChgcurrG2 * 100) { Pt_Data.Prptection2_Flg |= 0x40; } else { Pt_Data.Prptection2_Flg &= 0xFFBF; } if((gps_data.Rev_data.CellhitData & 0x2000)) { Pt_Data.Prptection2_Flg |= 0x8000; } else { Pt_Data.Prptection2_Flg &= 0x7FFF; } All_Data[1] = Pt_Data.Prptection2_Flg >> 8; All_Data[2] = Pt_Data.Prptection2_Flg; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; if(gps_data.Rev_data.CellZvol >= Ala_Data.AZvolG) { Ala_Data.Alarm1_Flg |= 0x01; } if(gps_data.Rev_data.CellZvol <= Ala_Data.AZvolGH) { Ala_Data.Alarm1_Flg &= 0xFFFE; } if(gps_data.Rev_data.CellZvol <= Ala_Data.AZvolQ) { Ala_Data.Alarm1_Flg |= 0x02; } if(gps_data.Rev_data.CellZvol >= Ala_Data.AZvolQH) { Ala_Data.Alarm1_Flg &= 0xFFFD; } for(i = 0; i < gps_data.RevWrite_data.Cellnum; i ++) { if(Cores_Vol[i] > Ala_Data.ASingvolG) { DxGA_Flg[i] = 1; } if(Cores_Vol[i] < Ala_Data.ASingvolGH) { DxGA_Flg[i] = 0; } } Dxz = 0; for(i = 0; i < gps_data.RevWrite_data.Cellnum; i++) { Dxz += DxGA_Flg[i]; } if(Dxz) { Ala_Data.Alarm1_Flg |= 0x04; } else { Ala_Data.Alarm1_Flg &= 0xFFFB; } for(i = 0; i < gps_data.RevWrite_data.Cellnum; i ++) { if(Cores_Vol[i] < Ala_Data.ASingvolQ) { DxQA_Flg[i] = 1; } if(Cores_Vol[i] > Ala_Data.ASingvolQH) { DxQA_Flg[i] = 0; } } Dxz = 0; for(i = 0; i < gps_data.RevWrite_data.Cellnum; i++) { Dxz += DxQA_Flg[i]; } if(Dxz) { Ala_Data.Alarm1_Flg |= 0x08; } else { Ala_Data.Alarm1_Flg &= 0xFFF7; } if((cell_vol_max - cell_vol_min) >= Ala_Data.ACellXyc) { Ala_Data.Alarm1_Flg |= 0x10; } if((cell_vol_max - cell_vol_min) <= Ala_Data.ACellXycH) { Ala_Data.Alarm1_Flg &= 0xFFEF; } if(Out_curr >= Ala_Data.AOutcurrG * 100) { Ala_Data.Alarm1_Flg |= 0x20; } if(Out_curr <= Ala_Data.AOutcurrGH * 100) { Ala_Data.Alarm1_Flg &= 0xFFDF; } if(Bms_tt_data.Anal_quanuion.Anal_quan.Chg_Curr >= Ala_Data.AChgcurrG * 100) { Ala_Data.Alarm1_Flg |= 0x40; } if(Bms_tt_data.Anal_quanuion.Anal_quan.Chg_Curr <= Ala_Data.AChgcurrGH * 100) { Ala_Data.Alarm1_Flg &= 0xFFBF; } if(Bms_tt_data.Anal_quanuion.Anal_quan.Card_Tmp >= Ala_Data.APowTmp) { Ala_Data.Alarm1_Flg |= 0x80; } if(Bms_tt_data.Anal_quanuion.Anal_quan.Card_Tmp <= Ala_Data.APowTmpH) { Ala_Data.Alarm1_Flg &= 0xFF7F; } if(Bms_tt_data.Anal_quanuion.Anal_quan.Ambi_Tmp >= Ala_Data.AEqualtmp) { Ala_Data.Alarm1_Flg |= 0x100; } if(Bms_tt_data.Anal_quanuion.Anal_quan.Ambi_Tmp <= Ala_Data.AEqualtmpH) { Ala_Data.Alarm1_Flg &= 0xFEFF; } Cores_Temper1[0] = Bms_tt_data.Anal_quanuion.Anal_quan.Ambi_Tmp; Cores_Temper1[1] = Bms_Dat_Pdsg_Tmp; Cores_Temper1[2] = Bms_Dat_Cores_Tmp1; Cores_Temper1[3] = Bms_Dat_Cores_Tmp2; for(i = 0; i < 4; i++) { for(j = 0; j < (4 - i - 1); j++) { if(Cores_Temper1[j] > Cores_Temper1[j + 1]) { s16 temper2 = Cores_Temper1[j]; Cores_Temper1[j] = Cores_Temper1[j + 1]; Cores_Temper1[j + 1] = temper2; } } } Bms_Dx_Tmp = Cores_Temper1[3] - Cores_Temper1[0]; if(Bms_Dx_Tmp >= Ala_Data.ACellTmp) { Ala_Data.Alarm1_Flg |= 0x200; } if(Bms_Dx_Tmp <= Ala_Data.ACellTmpH) { Ala_Data.Alarm1_Flg &= 0xFDFF; } if(Cores_Temper1[3] >= Ala_Data.ACellChgTmpG) { Ala_Data.Alarm1_Flg |= 0x400; } if(Cores_Temper1[3] <= Ala_Data.ACellChgTmpGH) { Ala_Data.Alarm1_Flg &= 0xFBFF; } if(Cores_Temper1[3] >= Ala_Data.ACellOutTmpG) { Ala_Data.Alarm1_Flg |= 0x800; } if(Cores_Temper1[3] <= Ala_Data.ACellOutTmpGH) { Ala_Data.Alarm1_Flg &= 0xF7FF; } if(Cores_Temper1[0] <= Ala_Data.AChgTmpD) { Ala_Data.Alarm1_Flg |= 0x1000; } if(Cores_Temper1[0] >= Ala_Data.AChgTmpDH) { Ala_Data.Alarm1_Flg &= 0xEFFF; } if(Cores_Temper1[0] <= Ala_Data.AOutTmpD) { Ala_Data.Alarm1_Flg |= 0x2000; } if(Cores_Temper1[0] >= Ala_Data.AOutTmpDH) { Ala_Data.Alarm1_Flg &= 0xDFFF; } if(gps_data.Rev_data.Soc <= gps_data.RevWrite_data.DRLNum) { Ala_Data.Alarm1_Flg |= 0x4000; } else { Ala_Data.Alarm1_Flg &= 0xBFFF; } if(gps_data.Rev_data.Soc <= Ala_Data.ADRLNum2) { Ala_Data.Alarm1_Flg |= 0x8000; } else { Ala_Data.Alarm1_Flg &= 0x7FFF; } All_Data[1] = Ala_Data.Alarm1_Flg >> 8; All_Data[2] = Ala_Data.Alarm1_Flg; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.Rev_data.CellStrtu >> 8; All_Data[2] = gps_data.Rev_data.CellStrtu; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.AZvolG >> 8; All_Data[2] = Ala_Data.AZvolG; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.AZvolGH >> 8; All_Data[2] = Ala_Data.AZvolGH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.ZvolG >> 8; All_Data[2] = gps_data.RevWrite_data.ZvolG; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Pt_Data.ZvolGH >> 8; All_Data[2] = Pt_Data.ZvolGH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.AZvolQ >> 8; All_Data[2] = Ala_Data.AZvolQ; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.AZvolQH >> 8; All_Data[2] = Ala_Data.AZvolQH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.ZvolQ >> 8; All_Data[2] = gps_data.RevWrite_data.ZvolQ; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Pt_Data.ZvolQH >> 8; All_Data[2] = Pt_Data.ZvolQH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.ASingvolG >> 8; All_Data[2] = Ala_Data.ASingvolG; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.ASingvolG >> 8; All_Data[2] = Ala_Data.ASingvolGH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.SingvolG >> 8; All_Data[2] = gps_data.RevWrite_data.SingvolG; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.SingvolGH >> 8; All_Data[2] = gps_data.RevWrite_data.SingvolGH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.SingvolGtime >> 8; All_Data[2] = gps_data.RevWrite_data.SingvolGtime; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Pt_Data.SingvolG2 >> 8; All_Data[2] = Pt_Data.SingvolG2; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Pt_Data.SingvolGH2 >> 8; All_Data[2] = Pt_Data.SingvolGH2; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Pt_Data.SingvolGtime2 >> 8; All_Data[2] = Pt_Data.SingvolGtime2; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.ASingvolQ >> 8; All_Data[2] = Ala_Data.ASingvolQ; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.ASingvolQH >> 8; All_Data[2] = Ala_Data.ASingvolQH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.SingvolQ >> 8; All_Data[2] = gps_data.RevWrite_data.SingvolQ; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.SingvolQH >> 8; All_Data[2] = gps_data.RevWrite_data.SingvolQH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.SingvolQtime >> 8; All_Data[2] = gps_data.RevWrite_data.SingvolQtime; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Pt_Data.SingvolQ2 >> 8; All_Data[2] = Pt_Data.SingvolQ2; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Pt_Data.SingvolQH2 >> 8; All_Data[2] = Pt_Data.SingvolQH2; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Pt_Data.SingvolQtime2 >> 8; All_Data[2] = Pt_Data.SingvolQtime2; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.ACellXyc >> 8; All_Data[2] = Ala_Data.ACellXyc; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.ACellXycH >> 8; All_Data[2] = Ala_Data.ACellXycH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.CellXyc >> 8; All_Data[2] = gps_data.RevWrite_data.CellXyc; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Pt_Data.CellXycH >> 8; All_Data[2] = Pt_Data.CellXycH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.AOutcurrG >> 8; All_Data[2] = Ala_Data.AOutcurrG; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.AOutcurrGH >> 8; All_Data[2] = Ala_Data.AOutcurrGH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.OutcurrG >> 8; All_Data[2] = gps_data.RevWrite_data.OutcurrG; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.OutcurrGtime >> 8; All_Data[2] = gps_data.RevWrite_data.OutcurrGtime; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.CellOUT2CURR_G >> 8; All_Data[2] = gps_data.RevWrite_data.CellOUT2CURR_G; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.CellOUT2TIME_G >> 8; All_Data[2] = gps_data.RevWrite_data.CellOUT2TIME_G; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.AChgcurrG >> 8; All_Data[2] = Ala_Data.AChgcurrG; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.AChgcurrGH >> 8; All_Data[2] = Ala_Data.AChgcurrGH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.ChgcurrG >> 8; All_Data[2] = gps_data.RevWrite_data.ChgcurrG; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.ChgcurrGtime >> 8; All_Data[2] = gps_data.RevWrite_data.ChgcurrGtime; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Pt_Data.ChgcurrG2 >> 8; All_Data[2] = Pt_Data.ChgcurrG2; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Pt_Data.ChgcurrGtime2 >> 8; All_Data[2] = Pt_Data.ChgcurrGtime2; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.Equalivol >> 8; All_Data[2] = gps_data.RevWrite_data.Equalivol; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = 0; All_Data[2] = 0; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.Equalivolcc >> 8; All_Data[2] = gps_data.RevWrite_data.Equalivolcc; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = 0; All_Data[2] = 0; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = 0; All_Data[2] = 0; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.EqualiON; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.APowTmp >> 8; All_Data[2] = Ala_Data.APowTmp; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.APowTmpH >> 8; All_Data[2] = Ala_Data.APowTmpH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.PowTmp >> 8; All_Data[2] = gps_data.RevWrite_data.PowTmp; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.PowTmpH >> 8; All_Data[2] = gps_data.RevWrite_data.PowTmpH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.AEqualtmp >> 8; All_Data[2] = Ala_Data.AEqualtmp; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.AEqualtmpH >> 8; All_Data[2] = Ala_Data.AEqualtmpH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.Equaltmpb >> 8; All_Data[2] = gps_data.RevWrite_data.Equaltmpb; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.EqualtmpH >> 8; All_Data[2] = gps_data.RevWrite_data.EqualtmpH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.ACellTmp >> 8; All_Data[2] = Ala_Data.ACellTmp; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.ACellTmpH >> 8; All_Data[2] = Ala_Data.ACellTmpH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.CellTmp >> 8; All_Data[2] = gps_data.RevWrite_data.CellTmp; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Pt_Data.CellTmpH >> 8; All_Data[2] = Pt_Data.CellTmpH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.ACellChgTmpG >> 8; All_Data[2] = Ala_Data.ACellChgTmpG; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.ACellChgTmpGH >> 8; All_Data[2] = Ala_Data.ACellChgTmpGH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.CellChgTmpG >> 8; All_Data[2] = gps_data.RevWrite_data.CellChgTmpG; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.CellChgTmpGH >> 8; All_Data[2] = gps_data.RevWrite_data.CellChgTmpGH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.ACellOutTmpG >> 8; All_Data[2] = Ala_Data.ACellOutTmpG; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.ACellOutTmpGH >> 8; All_Data[2] = Ala_Data.ACellOutTmpGH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.CellOutTmpG >> 8; All_Data[2] = gps_data.RevWrite_data.CellOutTmpG; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.CellOutTmpGH >> 8; All_Data[2] = gps_data.RevWrite_data.CellOutTmpGH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.AChgTmpD >> 8; All_Data[2] = Ala_Data.AChgTmpD; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.AChgTmpDH >> 8; All_Data[2] = Ala_Data.AChgTmpDH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.ChgTmpD >> 8; All_Data[2] = gps_data.RevWrite_data.ChgTmpD; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.ChgTmpDH >> 8; All_Data[2] = gps_data.RevWrite_data.ChgTmpDH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.AOutTmpD >> 8; All_Data[2] = Ala_Data.AOutTmpD; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.AOutTmpDH >> 8; All_Data[2] = Ala_Data.AOutTmpDH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.OutTmpD >> 8; All_Data[2] = gps_data.RevWrite_data.OutTmpD; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.OutTmpDH >> 8; All_Data[2] = gps_data.RevWrite_data.OutTmpDH; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.Cellnum; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.CellRl >> 24; All_Data[2] = gps_data.RevWrite_data.CellRl >> 16; All_Data[3] = gps_data.RevWrite_data.CellRl >> 8; All_Data[4] = gps_data.RevWrite_data.CellRl; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.Reali_Q >> 24; All_Data[2] = gps_data.RevWrite_data.Reali_Q >> 16; All_Data[3] = gps_data.RevWrite_data.Reali_Q >> 8; All_Data[4] = gps_data.RevWrite_data.Reali_Q; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = (gps_data.RevWrite_data.Reali_Q*gps_data.Rev_data.Soc/100) >> 24; All_Data[2] = (gps_data.RevWrite_data.Reali_Q*gps_data.Rev_data.Soc/100) >> 16; All_Data[3] = (gps_data.RevWrite_data.Reali_Q*gps_data.Rev_data.Soc/100) >> 8; All_Data[4] = (gps_data.RevWrite_data.Reali_Q*gps_data.Rev_data.Soc/100); Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.ChgMOS; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.OutMOS; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.CurrJZ >> 8; All_Data[2] = gps_data.RevWrite_data.CurrJZ; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.CurrjzONOFF; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Pt_Data.OutCurrJZ >> 24; All_Data[2] = Pt_Data.OutCurrJZ >> 16; All_Data[3] = Pt_Data.OutCurrJZ >> 8; All_Data[4] = Pt_Data.OutCurrJZ; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Pt_Data.OutCurrjzONOFF; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.BHBAddr; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.Celltype; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = (u8)(gps_data.RevWrite_data.SleepTime >> 8); All_Data[2] = (u8)gps_data.RevWrite_data.SleepTime; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.DRLNum; Can_Stand_WriteData(0x113, All_Data, 8); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = Ala_Data.ADRLNum2; Can_Stand_WriteData(0x113, All_Data, 8); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.EquID[0]; All_Data[2] = gps_data.RevWrite_data.EquID[1]; All_Data[3] = gps_data.RevWrite_data.EquID[2]; All_Data[4] = gps_data.RevWrite_data.EquID[3]; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.EquID[4]; All_Data[2] = gps_data.RevWrite_data.EquID[5]; All_Data[3] = gps_data.RevWrite_data.EquID[6]; All_Data[4] = gps_data.RevWrite_data.EquID[7]; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.CCDat[0]; All_Data[2] = gps_data.RevWrite_data.CCDat[1]; All_Data[3] = gps_data.RevWrite_data.CCDat[2]; All_Data[4] = gps_data.RevWrite_data.CCDat[3]; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = (u8)(gps_data.RevWrite_data.SysTime >> 24); All_Data[2] = (u8)(gps_data.RevWrite_data.SysTime >> 16); All_Data[3] = (u8)(gps_data.RevWrite_data.SysTime >> 8); All_Data[4] = (u8)gps_data.RevWrite_data.SysTime; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = (u8)(Calendar.Year >> 8); All_Data[2] = (u8)Calendar.Year; All_Data[3] = Calendar.Month; All_Data[4] = Calendar.Date; All_Data[5] = Calendar.Hour; All_Data[6] = Calendar.Min; All_Data[7] = Calendar.Sec; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = soft_num_ZF[0]; All_Data[2] = soft_num_ZF[1]; All_Data[3] = soft_num_ZF[2]; All_Data[4] = soft_num_ZF[3]; All_Data[5] = soft_num_ZF[4]; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = soft_num_ZF[5]; All_Data[2] = soft_num_ZF[6]; All_Data[3] = soft_num_ZF[7]; All_Data[4] = soft_num_ZF[8]; All_Data[5] = soft_num_ZF[9]; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = soft_num_ZF[10]; All_Data[2] = soft_num_ZF[11]; All_Data[3] = soft_num_ZF[12]; All_Data[4] = soft_num_ZF[13]; All_Data[5] = soft_num_ZF[14]; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.XID[0]; All_Data[2] = gps_data.RevWrite_data.XID[1]; All_Data[3] = gps_data.RevWrite_data.XID[2]; All_Data[4] = gps_data.RevWrite_data.XID[3]; All_Data[5] = gps_data.RevWrite_data.XID[4]; All_Data[6] = gps_data.RevWrite_data.XID[5]; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.XID[6]; All_Data[2] = gps_data.RevWrite_data.XID[7]; All_Data[3] = gps_data.RevWrite_data.XID[8]; All_Data[4] = gps_data.RevWrite_data.XID[9]; All_Data[5] = gps_data.RevWrite_data.XID[10]; All_Data[6] = gps_data.RevWrite_data.XID[11]; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.XID[12]; All_Data[2] = gps_data.RevWrite_data.XID[13]; All_Data[3] = gps_data.RevWrite_data.XID[14]; All_Data[4] = gps_data.RevWrite_data.XID[15]; All_Data[5] = gps_data.RevWrite_data.XID[16]; All_Data[6] = gps_data.RevWrite_data.XID[17]; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.XID[18]; All_Data[2] = gps_data.RevWrite_data.XID[19]; All_Data[3] = gps_data.RevWrite_data.XID[20]; All_Data[4] = gps_data.RevWrite_data.XID[21]; All_Data[5] = gps_data.RevWrite_data.XID[22]; All_Data[6] = gps_data.RevWrite_data.XID[23]; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = gps_data.RevWrite_data.ShortCurValue; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = (u8)(gps_data.RevWrite_data.ShortCurDelay >> 8); All_Data[2] = (u8)gps_data.RevWrite_data.ShortCurDelay; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); memset(All_Data,0,8); Dz++; All_Data[0] = Dz; All_Data[1] = (u8)(gps_data.RevWrite_data.EnableSwitch >> 8); All_Data[2] = (u8)gps_data.RevWrite_data.EnableSwitch; Can_Stand_WriteData(0x113, All_Data, 8); delay_ms(1); } void Can_Send_Err_All_Dat(void) { u16 i,j; u8 Err_Buffer_Read[500] = {0}; for(j=0;j<30;j++) { IWDG_ReloadCounter(); IapRead_num(Err_Buffer_Read, ((u32)0x08017800 + 1024 * j), 400); for(i=0;i<137;i+=8) { Can_Stand_WriteData(0x116, &Err_Buffer_Read[i], 8); delay_ms(1); } } } void Can_Data_Handle(can_rec_msg Can_buf) { if(Can_Rec_Flag == 1) { Sp_P_Sleep_Times = 0; Can_Rec_Flag = 0; switch(Can_buf.Data[0]) { case 0x37: Ala_Data.AZvolG = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(70); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x38: Ala_Data.AZvolGH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(71); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x39: gps_data.RevWrite_data.ZvolG = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(10); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x3A: Pt_Data.ZvolGH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(99); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x3B: Ala_Data.AZvolQ = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(72); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x3C: Ala_Data.AZvolQH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(73); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x3D: gps_data.RevWrite_data.ZvolQ = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(11); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x3E: Pt_Data.ZvolQH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(100); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x3F: Ala_Data.ASingvolG = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(74); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x40: Ala_Data.ASingvolGH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(75); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x41: gps_data.RevWrite_data.SingvolG = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(12); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x42: gps_data.RevWrite_data.SingvolGH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(13); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x43: gps_data.RevWrite_data.SingvolGtime = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(14); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x44: Pt_Data.SingvolG2 = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(101); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x45: Pt_Data.SingvolGH2 = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(102); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x46: Pt_Data.SingvolGtime2 = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(103); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x47: Ala_Data.ASingvolQ = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(76); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x48: Ala_Data.ASingvolQH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(77); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x49: gps_data.RevWrite_data.SingvolQ = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(15); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x4A: gps_data.RevWrite_data.SingvolQH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(16); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x4B: gps_data.RevWrite_data.SingvolQtime = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(17); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x4C: Pt_Data.SingvolQ2 = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(104); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x4D: Pt_Data.SingvolQH2 = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(105); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x4E: Pt_Data.SingvolQtime2 = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(106); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x4F: Ala_Data.ACellXyc = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(78); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x50: Ala_Data.ACellXycH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(79); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x51: gps_data.RevWrite_data.CellXyc = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(18); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x52: Pt_Data.CellXycH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(107); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x53: Ala_Data.AOutcurrG = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(80); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x54: Ala_Data.AOutcurrGH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(81); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x55: gps_data.RevWrite_data.OutcurrG = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(19); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x56: gps_data.RevWrite_data.OutcurrGtime = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(20); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x57: gps_data.RevWrite_data.CellOUT2CURR_G = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(67); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x58: gps_data.RevWrite_data.CellOUT2TIME_G = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(68); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x59: Ala_Data.AChgcurrG = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(82); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x5A: Ala_Data.AChgcurrGH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(83); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x5B: gps_data.RevWrite_data.ChgcurrG = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(21); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x5C: gps_data.RevWrite_data.ChgcurrGtime = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(22); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x5D: Pt_Data.ChgcurrG2 = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(108); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x5E: Pt_Data.ChgcurrGtime2 = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(109); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x5F: gps_data.RevWrite_data.Equalivol = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(23); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x60: break; case 0x61: gps_data.RevWrite_data.Equalivolcc = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(24); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x62: break; case 0x63: break; case 0x64: gps_data.RevWrite_data.EqualiON = Can_buf.Data[1]; flash_write_sys_flag(25); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x65: Ala_Data.APowTmp = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(84); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x66: Ala_Data.APowTmpH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(85); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x67: gps_data.RevWrite_data.PowTmp = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(26); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x68: gps_data.RevWrite_data.PowTmpH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(27); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x69: Ala_Data.AEqualtmp = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(86); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x6A: Ala_Data.AEqualtmpH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(87); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x6B: gps_data.RevWrite_data.Equaltmpb = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(28); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x6C: gps_data.RevWrite_data.EqualtmpH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(29); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x6D: Ala_Data.ACellTmp = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(88); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x6E: Ala_Data.ACellTmpH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(89); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x6F: gps_data.RevWrite_data.CellTmp = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(30); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x70: Pt_Data.CellTmpH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(110); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x71: Ala_Data.ACellChgTmpG = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(90); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x72: Ala_Data.ACellChgTmpGH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(91); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x73: gps_data.RevWrite_data.CellChgTmpG = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(31); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x74: gps_data.RevWrite_data.CellChgTmpGH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(114); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x75: Ala_Data.ACellOutTmpG = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(92); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x76: Ala_Data.ACellOutTmpGH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(93); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x77: gps_data.RevWrite_data.CellOutTmpG = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(32); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x78: gps_data.RevWrite_data.CellOutTmpGH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(115); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x79: Ala_Data.AChgTmpD = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(94); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x7A: Ala_Data.AChgTmpDH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(95); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x7B: gps_data.RevWrite_data.ChgTmpD = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(33); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x7C: gps_data.RevWrite_data.ChgTmpDH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(34); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x7D: Ala_Data.AOutTmpD = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(96); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x7E: Ala_Data.AOutTmpDH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(97); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x7F: gps_data.RevWrite_data.OutTmpD = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(35); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x80: gps_data.RevWrite_data.OutTmpDH = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(36); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x81: gps_data.RevWrite_data.Cellnum = Can_buf.Data[1]; flash_write_sys_flag(37); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x82: gps_data.RevWrite_data.CellRl = (u32)(((Can_buf.Data[1] << 8) | (Can_buf.Data[2])) * 65536 + ((Can_buf.Data[3] << 8) | Can_buf.Data[4])); flash_write_sys_flag(38); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x83: gps_data.RevWrite_data.Reali_Q = (u32)(((Can_buf.Data[1] << 8) | (Can_buf.Data[2])) * 65536 + ((Can_buf.Data[3] << 8) | Can_buf.Data[4])); flash_write_sys_flag(52); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x85: gps_data.RevWrite_data.ChgMOS = Can_buf.Data[1]; flash_write_sys_flag(39); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x86: gps_data.RevWrite_data.OutMOS = Can_buf.Data[1]; flash_write_sys_flag(40); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x87: gps_data.RevWrite_data.CurrJZ = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(41); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x88: gps_data.RevWrite_data.CurrjzONOFF = Can_buf.Data[1]; Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x89: Pt_Data.OutCurrJZ = (u32)(((Can_buf.Data[1] << 8) | (Can_buf.Data[2])) * 65536 + ((Can_buf.Data[3] << 8) | Can_buf.Data[4])); flash_write_sys_flag(112); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x8A: Pt_Data.OutCurrjzONOFF = Can_buf.Data[1]; Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x8B: gps_data.RevWrite_data.BHBAddr = Can_buf.Data[1]; flash_write_sys_flag(42); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x8C: gps_data.RevWrite_data.Celltype = Can_buf.Data[1]; flash_write_sys_flag(43); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x8D: gps_data.RevWrite_data.SleepTime = ((Can_buf.Data[1] << 8) | Can_buf.Data[2]); flash_write_sys_flag(44); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x8E: gps_data.RevWrite_data.DRLNum = Can_buf.Data[1]; flash_write_sys_flag(45); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x8F: Ala_Data.ADRLNum2 = Can_buf.Data[1]; flash_write_sys_flag(98); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x90: memcpy(gps_data.RevWrite_data.EquID, &Can_buf.Data[1], 4); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x91: memcpy(&gps_data.RevWrite_data.EquID[4], &Can_buf.Data[1], 4); flash_write_sys_flag(48); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x92: memcpy(gps_data.RevWrite_data.CCDat, &Can_buf.Data[1], 4); flash_write_sys_flag(49); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x93: gps_data.RevWrite_data.SysTime = (u32)(((Can_buf.Data[1] << 8) | (Can_buf.Data[2])) * 65536 + ((Can_buf.Data[3] << 8) | Can_buf.Data[4])); flash_write_sys_flag(50); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x94: Calendar.Year = (u16)((Can_buf.Data[1] << 8) | Can_buf.Data[2]); Calendar.Month = Can_buf.Data[3]; Calendar.Date = Can_buf.Data[4]; Calendar.Hour = Can_buf.Data[5]; Calendar.Min = Can_buf.Data[6]; Calendar.Sec = Can_buf.Data[7]; flash_write_sys_flag(113); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x98: memcpy(gps_data.RevWrite_data.XID, &Can_buf.Data[1], 6); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x99: memcpy(&gps_data.RevWrite_data.XID[6], &Can_buf.Data[1], 6); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x9A: memcpy(&gps_data.RevWrite_data.XID[12], &Can_buf.Data[1], 6); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x9B: memcpy(&gps_data.RevWrite_data.XID[18], &Can_buf.Data[1], 6); flash_write_sys_flag(53); flash_write_sys_flag(54); flash_write_sys_flag(55); flash_write_sys_flag(56); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x9C: gps_data.RevWrite_data.ShortCurValue = Can_buf.Data[1]; flash_write_sys_flag(64); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x9D: gps_data.RevWrite_data.ShortCurDelay = (Can_buf.Data[1] << 8) | Can_buf.Data[2]; flash_write_sys_flag(65); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0x9E: gps_data.RevWrite_data.EnableSwitch = (Can_buf.Data[1] << 8) | Can_buf.Data[2]; flash_write_sys_flag(66); Can_Stand_WriteData(0x115, Can_buf.Data, 8); break; case 0xB1: gps_data.RevWrite_data.rest_xt = Can_buf.Data[1]; Can_Stand_WriteData(0x115, Can_buf.Data, 8); printf("NVIC_SystemReset\r\n"); if(gps_data.RevWrite_data.rest_xt == 1) { ResetAFE_1(); ResetAFE_2(); __set_PRIMASK(1); NVIC_SystemReset(); } break; case 0xB2: Can_Stand_WriteData(0x115, Can_buf.Data, 8); ((*POWER_EN . outputIO) &= (~POWER_EN . validBit)); delay_ms(5000); ((*HOT_EN . outputIO) &= (~HOT_EN . validBit)); ((*SHIP_EN . outputIO) &= (~SHIP_EN . validBit)); delay_ms(5000); break; case 0xB3: gps_data.RevWrite_data.rest_hf = Can_buf.Data[1]; Can_Stand_WriteData(0x115, Can_buf.Data, 8); if(gps_data.RevWrite_data.rest_hf == 1) { flash_write_sys_flag_ALL_Init(); } break; case 0xB4: Can_Stand_WriteData(0x115, Can_buf.Data, 8); __set_PRIMASK(1); NVIC_SystemReset(); break; case 0xB5: Can_Stand_WriteData(0x115, Can_buf.Data, 8); Can_Send_All_Dat(); break; case 0xB6: Can_Stand_WriteData(0x115, Can_buf.Data, 8); Can_Send_Err_All_Dat(); break; } } } u8 Temp_Dif_Flg = 0; void Sheng_Peng_100ms_CAN_Send_Data0(void) { u16 Temp1 = 0; int16_t Temp2 = 0; u8 Can_Dat = 0; s16 Cores_Tmp = 0; Temp1 = 0; memset(Data_MT, 0, 8); Data_MT[0] = (u8)((gps_data.Rev_data.CellZvol / 10) >> 8); Data_MT[1] = (u8)((gps_data.Rev_data.CellZvol / 10)); Temp2 = 0; Temp2 = (10000 - gps_data.Rev_data.Currdata) / 10; Data_MT[2] = (u8)((Temp2) >> 8); Data_MT[3] = (u8)((Temp2)); Data_MT[4] = (u8)((gps_data.Rev_data.Soc)); Data_MT[5] = (u8)((SOH_Readflash)); Can_Dat = 0; if(gps_data.Rev_data.CellhitData == 0 && !yc_timeflat && ((gps_data.Rev_data.CellStrtu & 0x01) || (gps_data.Rev_data.CellStrtu & 0x02))) { Can_Dat |= 0x01; } else { Can_Dat |= 0x02; } if(gps_data.Rev_data.CellStrtu & 0x3) { Can_Dat |= 0xC; } else if(gps_data.Rev_data.CellStrtu & 0x1) { Can_Dat |= 0x4; } else if(gps_data.Rev_data.CellStrtu & 0x2) { Can_Dat |= 0x8; } else { Can_Dat |= 0x0; } if(!((*(CHG_DET). inputIO) & (CHG_DET). validBit) && (Bms_tt_data.Anal_quanuion.Anal_quan.Chg_Curr == 0)) { Can_Dat |= 0x80; } else if(Bms_tt_data.Anal_quanuion.Anal_quan.Chg_Curr != 0) { Can_Dat |= 0x40; } else { Can_Dat |= 0x0; } Data_MT[6] = Can_Dat; Can_Dat = 0; if((gps_data.Rev_data.CellhitData & 0x20))Can_Dat = 0x02<<2; if((gps_data.Rev_data.CellhitData & 0x40))Can_Dat = 0x02<<2; if((gps_data.Rev_data.CellhitData & 0x01))Can_Dat = 0x03<<2; if((gps_data.Rev_data.CellhitData & 0x400))Can_Dat = 0x04<<2; if((gps_data.Rev_data.CellhitData & 0x800))Can_Dat = 0x05<<2; if((gps_data.Rev_data.CellhitData & 0x10))Can_Dat = 0x06<<2; if((gps_data.Rev_data.CellhitData & 0x200))Can_Dat = 0x07<<2; if((gps_data.Rev_data.CellhitData & 0x02))Can_Dat = 0x09<<2; if(yc_timeflat)Can_Dat = 0x0A<<2; if((gps_data.Rev_data.CellhitData & 0x08))Can_Dat = 0x0C<<2; if(Temp_Dif_Flg) { Can_Dat = 0x0D<<2; } if((gps_data.Rev_data.CellhitData & 0x04))Can_Dat = 0x0E<<2; if(gps_data.RevWrite_data.ZvolG <= gps_data.Rev_data.CellZvol)Can_Dat = 0x0F<<2; if(gps_data.RevWrite_data.ZvolQ >= gps_data.Rev_data.CellZvol)Can_Dat = 0x10<<2; if((!gps_data.Rev_data.CellhitData) && (!yc_timeflat) && (gps_data.RevWrite_data.CellTmp > Cores_Tmp) && (gps_data.RevWrite_data.ZvolG > gps_data.Rev_data.CellZvol) && (gps_data.RevWrite_data.ZvolQ < gps_data.Rev_data.CellZvol)) { Can_Dat += 0x0; } else if((gps_data.Rev_data.CellhitData == 0x01) && (!yc_timeflat) && (gps_data.RevWrite_data.CellTmp > Cores_Tmp) && (gps_data.RevWrite_data.ZvolG > gps_data.Rev_data.CellZvol) && (gps_data.RevWrite_data.ZvolQ < gps_data.Rev_data.CellZvol)) { Can_Dat += 0x1; } else { Can_Dat += 0x3; } Data_MT[7] = Can_Dat; Can_Ext_WriteData(0x0C710F00,Data_MT,8); delay_ms(10); } void Sheng_Peng_500ms_CAN_Send_Data1(void) { memset(Data_MT, 0, 8); Data_MT[0] = (u8)((cell_vol_max / 10) >> 8); Data_MT[1] = (u8)((cell_vol_max / 10)); Data_MT[2] = (u8)((cell_vol_min / 10) >> 8); Data_MT[3] = (u8)((cell_vol_min / 10)); Data_MT[4] = cellminnum; Data_MT[5] = 0; Data_MT[6] = cellmaxnum; Data_MT[7] = 0; Can_Ext_WriteData(0x18740F00,Data_MT,8); delay_ms(10); } void Sheng_Peng_500ms_CAN_Send_Data2(void) { s16 Temp[6]; s16 MT_Temp[6]; s16 Temp_MAX = 0; s16 Temp_MIN = 0; u8 Temp_MAX_Num = 0; u8 Temp_Min_Num = 0; u8 i,j; memset(Data_MT, 0, 8); Temp[0] = Bms_tt_data.Anal_quanuion.Anal_quan.Ambi_Tmp; Temp[1] = Bms_Dat_Cores_Tmp1; Temp[2] = Bms_Dat_Cores_Tmp2; Temp[3] = Bms_Dat_Pdsg_Tmp; Temp[4] = Bms_Dat_Chg_Tmp; Temp[5] = Bms_Dat_Dsg_Tmp; MT_Temp[0] = Bms_tt_data.Anal_quanuion.Anal_quan.Ambi_Tmp; MT_Temp[1] = Bms_Dat_Cores_Tmp1; MT_Temp[2] = Bms_Dat_Cores_Tmp2; MT_Temp[3] = Bms_Dat_Pdsg_Tmp; MT_Temp[4] = Bms_Dat_Chg_Tmp; MT_Temp[5] = Bms_Dat_Dsg_Tmp; for(i = 0; i < 5; i++) { for(j = 0; j < (5 - i); j++) { if(MT_Temp[j] > MT_Temp[j + 1]) { s16 temper = MT_Temp[j + 1]; MT_Temp[j + 1] = MT_Temp[j]; MT_Temp[j] = temper; } } } Data_MT[0] = (u8)MT_Temp[5]; for(i = 0; i < 3; i++) { if(Temp_MAX == MT_Temp[i]) { Temp_MAX_Num = i; break; } } MT_Temp[0] = Bms_tt_data.Anal_quanuion.Anal_quan.Ambi_Tmp; MT_Temp[1] = Bms_Dat_Cores_Tmp1; MT_Temp[2] = Bms_Dat_Cores_Tmp2; MT_Temp[3] = Bms_Dat_Pdsg_Tmp; MT_Temp[4] = Bms_Dat_Chg_Tmp; MT_Temp[5] = Bms_Dat_Dsg_Tmp; for(i = 0; i < 5; i++) { for(j = 0; j < (5 - i); j++) { if(MT_Temp[j] < MT_Temp[j + 1]) { s16 temper = MT_Temp[j + 1]; MT_Temp[j + 1] = MT_Temp[j]; MT_Temp[j] = temper; } } } Data_MT[1] = (u8)MT_Temp[5]; for(i = 0; i < 3; i++) { if(Temp_MIN == MT_Temp[i]) { Temp_Min_Num = i; break; } } Data_MT[2] = Temp_Min_Num; Data_MT[3] = 0; Data_MT[4] = Temp_MAX_Num; Data_MT[5] = 0; Data_MT[6] = 0; Data_MT[7] = 0; Can_Ext_WriteData(0x18750F00,Data_MT,8); delay_ms(10); } void Sheng_Peng_1000ms_CAN_Send_Data3(void) { memset(Data_MT, 0, 8); Data_MT[0] = 0; Data_MT[1] = Bms_tt_data.Anal_quanuion.Anal_quan.Cores_num; Data_MT[2] = 6; Data_MT[3] = 0; Data_MT[4] = 0; Data_MT[5] = 0; Data_MT[6] = 0; Data_MT[7] = 0; Can_Ext_WriteData(0x18790F00,Data_MT,8); delay_ms(10); } u8 Data4_Count = 0; void Sheng_Peng_500ms_CAN_Send_Data4(void) { memset(Data_MT, 0, 8); Data_MT[0] = 0; if(Data4_Count < Bms_tt_data.Anal_quanuion.Anal_quan.Cores_num) { Data_MT[1] = Data4_Count; } else { Data_MT[1] = 0; Data4_Count = 0; } if(Data4_Count < Bms_tt_data.Anal_quanuion.Anal_quan.Cores_num) { Data_MT[2] = (u8)((Cores_Vol[Data4_Count] / 10) >> 8); Data_MT[3] = (u8)((Cores_Vol[Data4_Count] / 10)); Data4_Count++; } else { Data_MT[2] = 0; Data_MT[3] = 0; } if(Data4_Count < Bms_tt_data.Anal_quanuion.Anal_quan.Cores_num) { Data_MT[4] = (u8)((Cores_Vol[Data4_Count] / 10) >> 8); Data_MT[5] = (u8)((Cores_Vol[Data4_Count] / 10)); Data4_Count++; } else { Data_MT[4] = 0; Data_MT[5] = 0; } if(Data4_Count < Bms_tt_data.Anal_quanuion.Anal_quan.Cores_num) { Data_MT[6] = (u8)((Cores_Vol[Data4_Count] / 10) >> 8); Data_MT[7] = (u8)((Cores_Vol[Data4_Count] / 10)); Data4_Count++; } else { Data_MT[6] = 0; Data_MT[7] = 0; } Can_Ext_WriteData(0x18720F00,Data_MT,8); delay_ms(10); } void Sheng_Peng_500ms_CAN_Send_Data5(void) { memset(Data_MT, 0, 8); Data_MT[0] = (u8)Bms_tt_data.Anal_quanuion.Anal_quan.Ambi_Tmp; Data_MT[1] = (u8)Bms_Dat_Cores_Tmp1; Data_MT[2] = (u8)Bms_Dat_Cores_Tmp2; Data_MT[3] = (u8)Bms_Dat_Pdsg_Tmp; Data_MT[4] = (u8)Bms_Dat_Chg_Tmp; Data_MT[5] = (u8)Bms_Dat_Dsg_Tmp; Data_MT[6] = 0; Data_MT[7] = 0; Can_Ext_WriteData(0x18730F00,Data_MT,8); delay_ms(10); }