| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201 |
- #ifndef _BOARD_H_
- #define _BOARD_H_
- #include "Uart.h"
- #include "Timer.h"
- #include "flash.h"
- #include "fifo.h"
- #include "timeout.h"
- #include "I2C.h"
- #include "epprom.h"
- #include "rtc.h"
- #include "key.h"
- #define PORT_MAX_NUM 64
- #define SEL_74CH165 1
- #define USE_PORT_ID 0
- enum {
- CEN = 0x01,
- CLK = 0x02,
- PLN = 0x03,
- };
- enum {
- PORT_00 = 0x01,
- PORT_01 = 0x02,
- PORT_02 = 0x04,
- PORT_03 = 0x08,
- PORT_ALL = 0x0F,
- };
- typedef struct port_msg_{
- uint32_t group;
- uint32_t cePin;
- uint32_t doutPin;
- uint32_t cpPin;
- uint32_t plPin;
- }PortMsg;
- extern PortMsg g_portMsg[4];
- /*---------------------------------------------------------------
- * PORT1: COM65 ----- CS0 PD0 (in)
- * DOUT ----- CS1 PD1 (in)
- * PL ----- CS2 PD2 (out)
- * CP ----- CS3 PD3 (out)
- * DIN ----- CS4 PD4 (没有用到)
- * CE_N ----- CS5 PD5 (out)
- * COM1 ----- CS6 PD6 (in)
- * ---------------------------------------------------------------*/
- #define CEN_NSS_LOW_01() gpio_bit_reset(GPIOD, GPIO_PIN_5)
- #define CEN_NSS_HIGH_01() gpio_bit_set(GPIOD, GPIO_PIN_5)
- #define OUT_H165_01() gpio_input_bit_get(GPIOD, GPIO_PIN_1)
- #define CLK_LOW_01() gpio_bit_reset(GPIOD, GPIO_PIN_3)
- #define CLK_HIGH_01() gpio_bit_set(GPIOD, GPIO_PIN_3)
- #define PLN_LOW_01() gpio_bit_reset(GPIOD, GPIO_PIN_2)
- #define PLN_HIGH_01() gpio_bit_set(GPIOD, GPIO_PIN_2)
- /*---------------------------------------------------------------
- * PORT2: COM65 ----- AD0 PE0 (in)
- * DOUT ----- AD1 PE1 (in)
- * PL ----- AD2 PE2 (out)
- * CP ----- AD3 PE3 (out)
- * DIN ----- AD4 PE4 (没有用到)
- * CE_N ----- AD5 PE5 (out)
- * COM1 ----- AD6 PE6 (in)
- * ---------------------------------------------------------------*/
- #define CEN_NSS_LOW_02() gpio_bit_reset(GPIOE, GPIO_PIN_5)
- #define CEN_NSS_HIGH_02() gpio_bit_set(GPIOE, GPIO_PIN_5)
- #define OUT_H165_02() gpio_input_bit_get(GPIOE, GPIO_PIN_1)
- #define CLK_LOW_02() gpio_bit_reset(GPIOE, GPIO_PIN_3)
- #define CLK_HIGH_02() gpio_bit_set(GPIOE, GPIO_PIN_3)
- #define PLN_LOW_02() gpio_bit_reset(GPIOE, GPIO_PIN_2)
- #define PLN_HIGH_02() gpio_bit_set(GPIOE, GPIO_PIN_2)
- /*---------------------------------------------------------------
- * PORT3: COM65 ----- CS15 PD8 (in)
- * DOUT ----- CS14 PD9 (in)
- * PL ----- CS13 PD10 (out)
- * CP ----- CS12 PD11 (out)
- * DIN ----- CS11 PD12 (没有用到)
- * CE_N ----- CS10 PD13 (out)
- * COM1 ----- CS6 PD6 (in)
- * ---------------------------------------------------------------*/
- #define CEN_NSS_LOW_03() gpio_bit_reset(GPIOD, GPIO_PIN_13)
- #define CEN_NSS_HIGH_03() gpio_bit_set(GPIOD, GPIO_PIN_13)
- #define OUT_H165_03() gpio_input_bit_get(GPIOD, GPIO_PIN_9)
- #define CLK_LOW_03() gpio_bit_reset(GPIOD, GPIO_PIN_11)
- #define CLK_HIGH_03() gpio_bit_set(GPIOD, GPIO_PIN_11)
- #define PLN_LOW_03() gpio_bit_reset(GPIOD, GPIO_PIN_10)
- #define PLN_HIGH_03() gpio_bit_set(GPIOD, GPIO_PIN_10)
- /*---------------------------------------------------------------
- * Port4: COM65 ----- AD09 PE09 (in)
- * DOUT ----- AD10 PE10 (in)
- * PL ----- AD11 PE11 (out)
- * CP ----- AD12 PE12 (out)
- * DIN ----- AD13 PE13 (没有用到)
- * CE_N ----- AD14 PE14 (out)
- * COM1 ----- AD15 PE15 (in)
- * ---------------------------------------------------------------*/
- #define CEN_NSS_LOW_P4() gpio_bit_reset(GPIOE, GPIO_PIN_14)
- #define CEN_NSS_HIGH_P4() gpio_bit_set(GPIOE, GPIO_PIN_14)
- #define OUT_H165_P4() gpio_input_bit_get(GPIOE, GPIO_PIN_10)
- #define CLK_LOW_P4() gpio_bit_reset(GPIOE, GPIO_PIN_12)
- #define CLK_HIGH_P4() gpio_bit_set(GPIOE, GPIO_PIN_12)
- #define PLN_LOW_P4() gpio_bit_reset(GPIOE, GPIO_PIN_11)
- #define PLN_HIGH_P4() gpio_bit_set(GPIOE, GPIO_PIN_11)
- enum _RESET_FLAG_{
- RESET_PINRST = 0x01, // NRST 引脚复位
- RESET_PORRSTF = 0x02, // 上电掉电复位
- RESET_SFTRSTF = 0x04, // 软件复位
- RESET_IWDGRSTF = 0x08, //独立看门狗复位
- RESET_WWDGRSTF = 0x10, // 窗口看门狗复位
- RESET_LPWRRSTF = 0x20, // 低功耗复位
- };
- typedef struct {
- uint32_t tick;
- uint8_t status;
- }ExitTest;
- typedef struct {
- ExitTest exittest[25];
- uint32_t count;
- uint8_t btestStart;
- uint32_t width[20]; //
- uint8_t wCount; //
- }TestInitConut;
- extern TestInitConut testcount;
- typedef struct gpio_exti_{
- uint32_t csGroup; // 片选组GPIOD GPIOC GPIOB
- uint32_t csPin; // 具体的管脚
- exti_line_enum extiLine; // 中断标志脚 comm
- uint32_t extiPin; // 中断管脚 comm
- uint8_t extiPinSource; //
- uint8_t extiIRQn; // 中断源
- uint8_t outputPort;
- }__attribute__((packed))extiMsg_t;
- extern extiMsg_t g_extimsg; // 中断信息
- typedef enum {
- IDENTITY_SLAVE = 0x01, // 从设备
- IDENTITY_MASTER = 0x02, // 主设备
- }Identity;
- extern Identity g_iDentity; // 身份信息 主或从
- typedef struct _dev_reset_msg_{
- uint8_t resetflag;
- uint32_t resetNum;
- }__attribute__((packed))DevResetMsg;
- extern DevResetMsg g_devResetMsg;
- typedef struct _dev_pt_msg_{
- uint16_t firstPowerUp; // 是否为第一次上电 0x5A5A 说明已经上过电
- uint8_t eepromVer; // eeprom 的版本
- uint8_t binit; // 是否初始化
- uint32_t devSn; // 设备SN
- uint16_t devType1; // 设备类型
- uint16_t devfactory; // 设备厂家信息
- uint16_t seqNo ; // 生产批次号
- uint32_t data; // 生产日期
- uint8_t pcbVersion; // 硬件(PCB)版本
- uint32_t sqare; //备用
- }__attribute__((packed))DevPtMsg;
- extern DevPtMsg g_devPtMsg;
- typedef struct _dev_app_version_{
- uint32_t bootVer;
- uint32_t ptVer;
- uint32_t app1Ver;
- uint32_t app2Ver;
- uint32_t app3Ver;
- }__attribute__((packed))DevAppVersion;
- extern DevAppVersion g_devAppVer;
- extern void set_port_pin(uint8_t cmd,uint8_t index);
- extern void set_port_all_pin(uint8_t cmd,uint8_t index);
- extern void reset_port_pin(uint8_t cmd,uint8_t index);
- extern void reset_port_all_pin(uint8_t cmd,uint8_t index);//0x01 02 04 08
- extern uint8_t read_daout_pin(uint8_t index);
- extern void exti_gpio_init(void);
- extern void init_fwdgt_timer(void);
- extern void fwdgt_feed(uint32_t tickt);
- extern void board_init(void);
- extern void uart_init(void);
- extern void init_4g_power_up(void);
- extern uint32_t power_up_system_resettype(void);
- #endif
|