| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 |
- /**
- ******************************** STM32F10x *********************************
- * @文件名 : bsp.c
- * @作者 : sun
- * @库版本 : V3.5.0
- * @文件版本 : V1.0.0
- * @日期 : 2016年05月09日
- * @摘要 : BSP板级支持包头文件
- ******************************************************************************/
- /* 定义防止递归包含 ----------------------------------------------------------*/
- #ifndef _BSP_H
- #define _BSP_H
- /* 包含的头文件 --------------------------------------------------------------*/
- #include "stm32f10x.h"
- /*--网关和采集器选配------------------------------------------------------------*/
- #define GATEWAY_DEVICE
- //#define COLLECT_DEVICE
- /* 宏定义 --------------------------------------------------------------------*/
- #define PORT_LED GPIOD
- #define PIN_LED GPIO_Pin_3
- /* LED开关 */
- #define LED_ON (PORT_LED->BRR = PIN_LED)
- #define LED_OFF (PORT_LED->BSRR = PIN_LED)
- #define LED_TOGGLE (PORT_LED->ODR ^= PIN_LED)
- /****************************************************************************************/
- #if (OIL_TANK)
- #define SOFTWARE_VERSION_BOOT 0x03011001 //0X02011001
- #else
- #define SOFTWARE_VERSION_BOOT 0x01011001 //0X02011001
- #endif
- //升级标记
- #define UPDATA_FLAG 0x81
- #define BACKOFF_FLAG 0x82
- #define BACKOFF_OVER 0x83
- #define EEPROM_VER 0X01
- #define EEPROM_FIRST_INIT_FLAG 0x55AA
- //eeprom存储的共有数据
- typedef enum
- {
-
- /*第一次上电(0X55)*/
- EECFG_FIRST_INIT0 = 0x0000,
- /*第一次上电(0XAA)*/
- EECFG_FIRST_INIT1 = 0x0001,
- /*EEPROM版本*/
- EECFG_VER = 0x0002,
-
- /*复位次数*/
- EECFG_RST_TIME0 = 0x0003,
- /*复位次数*/
- EECFG_RST_TIME1 = 0x0004,
- /*复位次数*/
- EECFG_RST_TIME2 = 0x0005,
- /*复位次数*/
- EECFG_RST_TIME3 = 0x0006,
- /*升级标志(本体)*/
- EECFG_UPDATE_FLAG0 = 0x0007,
- /*升级标志(掩码)*/
- EECFG_UPDATE_FLAG1 = 0x0008,
- /*升级状态(本体)*/
- EECFG_UPDATE_STATE0 = 0x0009,
- /*升级状态(掩码)*/
- EECFG_UPDATE_STATE1 = 0x000A,
- /*预留*/
- EECFG_RESERVE0 = 0x000B,
- /*预留*/
- EECFG_RESERVE1 = 0x000C,
- /*出厂信息是否被初始化过*/
- EECFG_INFO_ALRD_INIT = 0x000D,
- /*设备SN*/
- EECFG_SN0 = 0x000E,
- /*设备SN*/
- EECFG_SN1 = 0x000F,
- /*设备SN*/
- EECFG_SN2 = 0x0010,
- /*设备SN*/
- EECFG_SN3 = 0x0011,
- /*设备类型*/
- EECFG_DEV_TYPE0 = 0x0012,
- /*设备类型*/
- EECFG_DEV_TYPE1 = 0x0013,
- /*生产厂家*/
- EECFG_MFRS0 = 0x0014,
- /*生产厂家*/
- EECFG_MFRS1 = 0x0015,
- /*批次号*/
- EECFG_BN0 = 0x0016,
- /*批次号*/
- EECFG_BN1 = 0x0017,
- /*生产日期*/
- EECFG_PD0 = 0x0018,
- /*生产日期*/
- EECFG_PD1 = 0x0019,
- /*生产日期*/
- EECFG_PD2 = 0x001A,
- /*生产日期*/
- EECFG_PD3 = 0x001B,
- /*PCB版本*/
- EECFG_PCB_VER = 0x001C,
- /*预留*/
- EECFG_RESERVED0 = 0x001D,
- /*预留*/
- EECFG_RESERVED1 = 0x001E,
- /*预留*/
- EECFG_RESERVED2 = 0x001F,
- /*预留*/
- EECFG_RESERVED3 = 0x0020,
- /*Bootloader版本*/
- EECFG_BT_VER0 = 0x0021,
- /*Bootloader版本*/
- EECFG_BT_VER1 = 0x0022,
- /*Bootloader版本*/
- EECFG_BT_VER2 = 0x0023,
- /*Bootloader版本*/
- EECFG_BT_VER3 = 0x0024,
- /*产测版本*/
- EECFG_PT_VER0 = 0x0025,
- /*产测版本*/
- EECFG_PT_VER1 = 0x0026,
- /*产测版本*/
- EECFG_PT_VER2 = 0x0027,
- /*产测版本*/
- EECFG_PT_VER3 = 0x0028,
- /*APP1版本*/
- EECFG_APP1_VER0 = 0x0029,
- /*APP1版本*/
- EECFG_APP1_VER1 = 0x002A,
- /*APP1版本*/
- EECFG_APP1_VER2 = 0x002B,
- /*APP1版本*/
- EECFG_APP1_VER3 = 0x002C,
- /*APP2版本*/
- EECFG_APP2_VER0 = 0x002D,
- /*APP2版本*/
- EECFG_APP2_VER1 = 0x002E,
- /*APP2版本*/
- EECFG_APP2_VER2 = 0x002F,
- /*APP2版本*/
- EECFG_APP2_VER3 = 0x0030,
- /*APP3版本*/
- EECFG_APP3_VER0 = 0x0031,
- /*APP3版本*/
- EECFG_APP3_VER1 = 0x0032,
- /*APP3版本*/
- EECFG_APP3_VER2 = 0x0033,
- /*APP3版本*/
- EECFG_APP3_VER3 = 0x0034,
- /*EEPROM存储数据字节数*/
- EECFG_NUM
- }eeprom_common_data ;
- typedef struct _Device_version_info
- {
- uint32_t boot_ver;
- uint32_t PT_ver;
- uint32_t APP1_ver;
- uint32_t APP2_ver;
- uint32_t APP3_ver;
- } Device_version_info_t;
- extern Device_version_info_t device_version_info;
- typedef struct _eeprom_first_info
- {
- uint16_t eeprom_first_init_flag;
- uint8_t eeprom_ver;
- uint32_t reset_total_num;
- uint16_t updata_flag;
- uint16_t updata_state;
- }__attribute__((packed)) eeprom_first_info_t;
- extern eeprom_first_info_t eeprom_first_info;
- void eeprom_init_handle(void);
- void eeprom_info_updata(void);
- typedef void (*pFunction)(void);
- /* 函数申明 ------------------------------------------------------------------*/
- void GPIO_COMM_Init(u32 clk, GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIOMode_TypeDef mode, GPIOSpeed_TypeDef speed);
- void System_Initializes(void);
- void SysReboot(void);
- #endif /* _BSP_H */
- /**** Copyright (C)2016 sun. All Rights Reserved **** END OF FILE ****/
|