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