| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- #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 TQ_PORT GPIOC // 抬枪信号端口
- #define TQ_PIN GPIO_PIN_8 // 抬枪信号管脚
- #define BM_PORT GPIOC // 编码器信号端口
- #define BM_PIN GPIO_PIN_9 // 编码器信号管脚
- #define LED_GREEN_SET() gpio_bit_set(GPIOD, GPIO_PIN_14) //
- #define LED_GREEN_RESET() gpio_bit_reset(GPIOD, GPIO_PIN_14)
- #define LED_RED_SET() gpio_bit_set(GPIOD, GPIO_PIN_15) //
- #define LED_RED_RESET() gpio_bit_reset(GPIOD, GPIO_PIN_15)
- #define PORT_MAX_NUM 64
- #define SEL_74CH165 0
- #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];
- typedef struct cs_port_msg_{
- uint32_t csPort;
- uint32_t csPin;
- }CSPortMsg;
- #define CS_GROUP_NUM 12 // CS片选组数 上面12组,下面12组,共24组
- extern CSPortMsg g_csPortMsg[24];
- 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[22]; //
- uint8_t wCount; //
- }TestInitConut;
- extern TestInitConut testcount;
- typedef struct gun_status{
- uint8_t bGunUp; // 抬枪
- uint8_t bGunDn; // 挂枪
- uint8_t bgun; //
- timeout_t guntime; // 时间
- timeout_t taigunTime; // 抬枪时间
- }__attribute__((packed))GunStatus01;
- extern GunStatus01 g_gunSta;
- typedef struct gpio_exti_{
- uint8_t groupNum; // 现在的组数
- uint32_t csGroup[4]; // 片选组GPIOD GPIOC GPIOB
- uint32_t csPin[4]; // 具体的管脚
- //exti_line_enum extiLine; // 中断标志脚 comm
- //uint32_t extiPort; // 中断端口
- //uint32_t extiPin; // 中断管脚 comm
- //uint8_t extiPinSource; //
- //uint8_t extiIRQn; // 中断源
- // uint8_t outputPort;
- uint8_t comPort[4];
- uint8_t comPin[4];
- }__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 set_all_cs_port_status(FlagStatus status);
- 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 uint32_t power_up_system_resettype(void);
- extern void gun_single_init(void);
- #endif
|