2026-04-23 14:02:03 +08:00
|
|
|
|
#ifndef _BSP_H
|
|
|
|
|
|
#define _BSP_H
|
|
|
|
|
|
|
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
#include <stdbool.h>
|
|
|
|
|
|
#include <time.h>
|
|
|
|
|
|
#include "gpio.h"
|
|
|
|
|
|
#include "spi.h"
|
2026-05-20 13:41:07 +08:00
|
|
|
|
#include "Update.h"
|
2026-04-23 14:02:03 +08:00
|
|
|
|
|
|
|
|
|
|
/*模块启用与关闭*/
|
|
|
|
|
|
#define USE_DEBUG 1 //调试串口选择,0、关闭,1、启用
|
|
|
|
|
|
#define USE_VBAT_AD 1 //电池电压AD获取选择,0、关闭,1、启用
|
|
|
|
|
|
#define USE_WDT 1 //看门狗选择,0、关闭,1启用
|
|
|
|
|
|
#define USE_EXFALSE 0 //外部FALSE存储选择,0、关闭,1、启用
|
|
|
|
|
|
#define USE_LED 1 //状态灯选择,0、关闭,1、启用
|
|
|
|
|
|
#define USE_RTC 1 //RTC时钟开关,0、关闭,1、开启
|
|
|
|
|
|
|
|
|
|
|
|
#define USE_LPUART0 1 //LPUART0开关,0、关闭,1、启用
|
|
|
|
|
|
#define USE_UART0 1 //UART0开关,0、关闭,1、启用
|
|
|
|
|
|
#define USE_UART1 0 //UART0开关,0、关闭,1、启用
|
|
|
|
|
|
#define USE_I2C0 1 //I2C0开关,0、关闭,1、启用
|
|
|
|
|
|
#define USE_I2C1 1 //I2C1开关,0、关闭,1、启用
|
|
|
|
|
|
#define USE_SPI0 1 //SPI1开关,0、关闭,1、启用
|
|
|
|
|
|
#define USE_SPI1 0 //SPI1开关,0、关闭,1、启用
|
|
|
|
|
|
|
2026-05-20 13:41:07 +08:00
|
|
|
|
//#define USE_BOOTLOADER 1 //BOOTLOADER开关,0、关闭,1、启用
|
2026-04-23 14:02:03 +08:00
|
|
|
|
|
|
|
|
|
|
//<<---------------------------- MCU -------------------------------->>
|
|
|
|
|
|
//< UART0
|
|
|
|
|
|
#define UART0_TX_PORT GpioPortA
|
|
|
|
|
|
#define UART0_TX_PIN GpioPin9
|
|
|
|
|
|
#define UART0_TX_AF GpioAf1
|
|
|
|
|
|
|
|
|
|
|
|
#define UART0_RX_PORT GpioPortA
|
|
|
|
|
|
#define UART0_RX_PIN GpioPin10
|
|
|
|
|
|
#define UART0_RX_AF GpioAf1
|
|
|
|
|
|
|
|
|
|
|
|
//< UART1
|
|
|
|
|
|
#define UART1_TX_PORT GpioPortF
|
|
|
|
|
|
#define UART1_TX_PIN GpioPin0
|
|
|
|
|
|
#define UART1_TX_AF GpioAf3
|
|
|
|
|
|
|
|
|
|
|
|
#define UART1_RX_PORT GpioPortF
|
|
|
|
|
|
#define UART1_RX_PIN GpioPin1
|
|
|
|
|
|
#define UART1_RX_AF GpioAf3
|
|
|
|
|
|
|
|
|
|
|
|
//< 低功耗串口
|
|
|
|
|
|
#define LPUart0_TxPortx GpioPortB //低功耗串口0通道
|
|
|
|
|
|
#define LPUART0_TxPinx GpioPin10 //配置PB10为LPUART0_Tx
|
|
|
|
|
|
#define LPUART0_TX_AF GpioAf4
|
|
|
|
|
|
|
|
|
|
|
|
#define LPUart0_RxPortx GpioPortB //低功耗串口0通道
|
|
|
|
|
|
#define LPUART0_RxPinx GpioPin11 //配置PB11为LPUART0_Rx
|
|
|
|
|
|
#define LPUART0_RX_AF GpioAf3
|
|
|
|
|
|
|
|
|
|
|
|
//< SPI0
|
|
|
|
|
|
#define SPI0_NSS_PORTx GpioPortA //NSSIO口
|
|
|
|
|
|
#define SPI0_NSS_PINx GpioPin15 //配置PA04为NSS
|
|
|
|
|
|
#define SET_SPI0_NSS() Gpio_SetIO(SPI0_NSS_PORTx, SPI0_NSS_PINx) //NSS拉高
|
|
|
|
|
|
#define CLR_SPI0_NSS() Gpio_ClrIO(SPI0_NSS_PORTx, SPI0_NSS_PINx) //NSS拉低
|
|
|
|
|
|
#define SPI0_NSS_AF GpioAf1
|
|
|
|
|
|
|
|
|
|
|
|
#define SPI0_SCK_PORTx GpioPortB //SCKIO口
|
|
|
|
|
|
#define SPI0_SCK_PINx GpioPin3 //配置PA05为SCK
|
|
|
|
|
|
#define SET_SPI0_SCK() Gpio_SetIO(SPI0_SCK_PORTx, SPI0_SCK_PINx) //SCK拉高
|
|
|
|
|
|
#define CLR_SPI0_SCK() Gpio_ClrIO(SPI0_SCK_PORTx, SPI0_SCK_PINx) //SCK拉低
|
|
|
|
|
|
#define SPI0_SCK_AF GpioAf1
|
|
|
|
|
|
|
|
|
|
|
|
#define SPI0_MISO_PORTx GpioPortB //MISOIO口
|
|
|
|
|
|
#define SPI0_MISO_PINx GpioPin4 //配置PA06为MISO
|
|
|
|
|
|
#define SET_SPI0_MISO() Gpio_SetIO(SPI0_MISO_PORTx, SPI0_MISO_PINx) //MISO拉高
|
|
|
|
|
|
#define CLR_SPI0_MISO() Gpio_ClrIO(SPI0_MISO_PORTx, SPI0_MISO_PINx) //MISO拉低
|
|
|
|
|
|
#define SPI0_MISO_AF GpioAf1
|
|
|
|
|
|
|
|
|
|
|
|
#define SPI0_MOSI_PORTx GpioPortB //MOSIIO口
|
|
|
|
|
|
#define SPI0_MOSI_PINx GpioPin5 //配置PA07为MOSI
|
|
|
|
|
|
#define SET_SPI0_MOSI() Gpio_SetIO(SPI0_MOSI_PORTx, SPI0_MOSI_PINx) //MOSI拉高
|
|
|
|
|
|
#define CLR_SPI0_MOSI() Gpio_ClrIO(SPI0_MOSI_PORTx, SPI0_MOSI_PINx) //MOSI拉低
|
|
|
|
|
|
#define SPI0_MOSI_AF GpioAf1
|
|
|
|
|
|
|
|
|
|
|
|
//< SPI1
|
|
|
|
|
|
#define SPI1_NSS_PORTx GpioPortB //NSSIO口
|
|
|
|
|
|
#define SPI1_NSS_PINx GpioPin12 //配置PB12为NSS
|
|
|
|
|
|
#define SET_SPI1_NSS() Gpio_SetIO(SPI1_NSS_PORTx, SPI1_NSS_PINx) //NSS拉高
|
|
|
|
|
|
#define CLR_SPI1_NSS() Gpio_ClrIO(SPI1_NSS_PORTx, SPI1_NSS_PINx) //NSS拉低
|
|
|
|
|
|
#define SPI1_NSS_AF GpioAf1
|
|
|
|
|
|
|
|
|
|
|
|
#define SPI1_SCK_PORTx GpioPortB //SCKIO口
|
|
|
|
|
|
#define SPI1_SCK_PINx GpioPin3 //配置PB13为SCK
|
|
|
|
|
|
#define SET_SPI1_SCK() Gpio_SetIO(SPI1_SCK_PORTx, SPI1_SCK_PINx) //SCK拉高
|
|
|
|
|
|
#define CLR_SPI1_SCK() Gpio_ClrIO(SPI1_SCK_PORTx, SPI1_SCK_PINx) //SCK拉低
|
|
|
|
|
|
#define SPI1_SCK_AF GpioAf1
|
|
|
|
|
|
|
|
|
|
|
|
#define SPI1_MISO_PORTx GpioPortB //MISOIO口
|
|
|
|
|
|
#define SPI1_MISO_PINx GpioPin4 //配置PB14为MISO
|
|
|
|
|
|
#define SET_SPI1_MISO() Gpio_SetIO(SPI1_MISO_PORTx, SPI1_MISO_PINx) //MISO拉高
|
|
|
|
|
|
#define CLR_SPI1_MISO() Gpio_ClrIO(SPI1_MISO_PORTx, SPI1_MISO_PINx) //MISO拉低
|
|
|
|
|
|
#define SPI1_MISO_AF GpioAf1
|
|
|
|
|
|
|
|
|
|
|
|
#define SPI1_MOSI_PORTx GpioPortB //MOSIIO口
|
|
|
|
|
|
#define SPI1_MOSI_PINx GpioPin5 //配置PB15为MOSI
|
|
|
|
|
|
#define SET_SPI1_MOSI() Gpio_SetIO(SPI1_MOSI_PORTx, SPI1_MOSI_PINx) //MOSI拉高
|
|
|
|
|
|
#define CLR_SPI1_MOSI() Gpio_ClrIO(SPI1_MOSI_PORTx, SPI1_MOSI_PINx) //MOSI拉低
|
|
|
|
|
|
#define SPI1_MOSI_AF GpioAf1
|
|
|
|
|
|
|
|
|
|
|
|
//< I2C0
|
|
|
|
|
|
#define I2C0_SCL_PORTx GpioPortF //SCL的GPIO通道
|
|
|
|
|
|
#define I2C0_SCL_PINx GpioPin1 //SCL的通道位
|
|
|
|
|
|
#define I2C0_SCL_AF GpioAf1
|
|
|
|
|
|
#define SET_I2C0_SCL() Gpio_SetIO(I2C0_SCL_PORTx, I2C0_SCL_PINx)
|
|
|
|
|
|
#define CLR_I2C0_SCL() Gpio_ClrIO(I2C0_SCL_PORTx, I2C0_SCL_PINx)
|
|
|
|
|
|
|
|
|
|
|
|
#define I2C0_SDA_PORTx GpioPortF //SDA的GPIO通道
|
|
|
|
|
|
#define I2C0_SDA_PINx GpioPin0 //SDA的通道位
|
|
|
|
|
|
#define I2C0_SDA_AF GpioAf1
|
|
|
|
|
|
#define SET_I2C0_SDA() Gpio_SetIO(I2C0_SDA_PORTx, I2C0_SDA_PINx)
|
|
|
|
|
|
#define CLR_I2C0_SDA() Gpio_ClrIO(I2C0_SDA_PORTx, I2C0_SDA_PINx)
|
|
|
|
|
|
|
|
|
|
|
|
//< I2C1
|
|
|
|
|
|
#define I2C1_SCL_PORTx GpioPortA //SCL的GPIO通道
|
|
|
|
|
|
#define I2C1_SCL_PINx GpioPin11 //SCL的通道位
|
|
|
|
|
|
#define I2C1_SCL_AF GpioAf3
|
|
|
|
|
|
#define SET_I2C1_SCL() Gpio_SetIO(I2C1_SCL_PORTx, I2C1_SCL_PINx)
|
|
|
|
|
|
#define CLR_I2C1_SCL() Gpio_ClrIO(I2C1_SCL_PORTx, I2C1_SCL_PINx)
|
|
|
|
|
|
|
|
|
|
|
|
#define I2C1_SDA_PORTx GpioPortA //SDA的GPIO通道
|
|
|
|
|
|
#define I2C1_SDA_PINx GpioPin12 //SDA的通道位
|
|
|
|
|
|
#define I2C1_SDA_AF GpioAf3
|
|
|
|
|
|
#define SET_I2C1_SDA() Gpio_SetIO(I2C1_SDA_PORTx, I2C1_SDA_PINx)
|
|
|
|
|
|
#define CLR_I2C1_SDA() Gpio_ClrIO(I2C1_SDA_PORTx, I2C1_SDA_PINx)
|
|
|
|
|
|
|
|
|
|
|
|
//<<---------------------------- 485 -------------------------------->>
|
|
|
|
|
|
//< LPUart0
|
|
|
|
|
|
#define RS485_CTRL_PORTx GpioPortB //RS485_1通信控制
|
|
|
|
|
|
#define RS485_CTRL_PINx GpioPin1 //配置PB02为RS485_1_CTRL
|
|
|
|
|
|
#define RS485_CTRL_TX() Gpio_SetIO(RS485_CTRL_PORTx, RS485_CTRL_PINx) //RS485_1_CTRL拉高发送
|
|
|
|
|
|
#define RS485_CTRL_RX() Gpio_ClrIO(RS485_CTRL_PORTx, RS485_CTRL_PINx) //RS485_1_CTRL拉低接收
|
|
|
|
|
|
|
|
|
|
|
|
//<<---------------------------- LED -------------------------------->>
|
|
|
|
|
|
//< LED_State
|
|
|
|
|
|
#define LED_STATE_PORTx GpioPortF //状态指示灯IO通道
|
|
|
|
|
|
#define LED_STATE_PINx GpioPin7 //状态指示灯脚位
|
|
|
|
|
|
#define LED_ON() Gpio_SetIO(LED_STATE_PORTx, LED_STATE_PINx);//状态指示灯亮
|
|
|
|
|
|
#define LED_OFF() Gpio_ClrIO(LED_STATE_PORTx, LED_STATE_PINx);//状态指示灯灭
|
|
|
|
|
|
|
|
|
|
|
|
//<<---------------------------- LORA --> SPI0 -------------------------------->>
|
|
|
|
|
|
//< LORA --> DIO0
|
|
|
|
|
|
#define LORA_DIO0_PORTx GpioPortB //LORA_DIO0口
|
|
|
|
|
|
#define LORA_DIO0_PINx GpioPin7 //配置PA01为DIO0
|
|
|
|
|
|
#define GET_LORA_DIO0() Gpio_GetInputIO(LORA_DIO0_PORTx, LORA_DIO0_PINx) //获取LORA_DIO0电平状态
|
|
|
|
|
|
//< LORA --> DIO1
|
|
|
|
|
|
#define LORA_DIO1_PORTx GpioPortB //LORA_DIO0口
|
|
|
|
|
|
#define LORA_DIO1_PINx GpioPin0 //配置PA01为DIO0
|
|
|
|
|
|
#define GET_LORA_DIO1() Gpio_GetInputIO(LORA_DIO1_PORTx, LORA_DIO1_PINx) //获取LORA_DIO0电平状态
|
|
|
|
|
|
|
|
|
|
|
|
//< LORA --> RST
|
|
|
|
|
|
#define LORA_RST_PORTx GpioPortB //LORA_RST口
|
|
|
|
|
|
#define LORA_RST_PINx GpioPin6 //配置PA00为RST
|
|
|
|
|
|
#define SET_LORA_RST() Gpio_SetIO(LORA_RST_PORTx, LORA_RST_PINx) //LORA复位脚拉高
|
|
|
|
|
|
#define CLR_LORA_RST() Gpio_ClrIO(LORA_RST_PORTx, LORA_RST_PINx) //LORA复位脚拉低
|
|
|
|
|
|
|
|
|
|
|
|
//<<---------------------------- LSM6DSLTR --> I2C0 -------------------------------->>
|
|
|
|
|
|
//< ACC_INT1
|
|
|
|
|
|
#define LSM6DSLTR_INT1_PORTx GpioPortC //LSM6DSLTR中断1IO通道
|
|
|
|
|
|
#define LSM6DSLTR_INT1_PINx GpioPin15 //配置PB01为ACC_INT1
|
|
|
|
|
|
#define GET_LSM6DSLTR_INT1() Gpio_GetInputIO(LSM6DSLTR_INT1_PORTx, LSM6DSLTR_INT1_PINx) //获取ACC_INT1电平状态
|
|
|
|
|
|
|
|
|
|
|
|
//< ACC_INT2
|
|
|
|
|
|
#define LSM6DSLTR_INT2_PORTx GpioPortC //LSM6DSLTR中断1IO通道
|
|
|
|
|
|
#define LSM6DSLTR_INT2_PINx GpioPin13 //配置PA08为ACC_INT2
|
|
|
|
|
|
#define GET_LSM6DSLTR_INT2() Gpio_GetInputIO(LSM6DSLTR_INT2_PORTx, LSM6DSLTR_INT2_PINx) //获取ACC_INT2电平状态
|
|
|
|
|
|
|
|
|
|
|
|
//<<---------------------------- MMC5983MA --> I2C0 -------------------------------->>
|
|
|
|
|
|
//< MMC0_INT
|
|
|
|
|
|
#define MMC5983MA_INT_PORTx GpioPortC //MMC5983MA中断IO通道
|
|
|
|
|
|
#define MMC5983MA_INT_PINx GpioPin14 //配置PB00为MMC_INT
|
|
|
|
|
|
#define GET_MMC5983MA_INT() Gpio_GetInputIO(MMC5983MA_INT_PORTx, MMC5983MA_INT_PINx) //获取ACC_INT2电平状态
|
|
|
|
|
|
|
|
|
|
|
|
//<<---------------------------- LASER -------------------------------->>
|
|
|
|
|
|
//< LASER1
|
|
|
|
|
|
#define LASER1_ON_OFF_PORTx GpioPortB
|
|
|
|
|
|
#define LASER1_ON_OFF_PINx GpioPin14
|
|
|
|
|
|
#define LASER1_ON() Gpio_SetIO(LASER1_ON_OFF_PORTx, LASER1_ON_OFF_PINx) //LORA复位脚拉高
|
|
|
|
|
|
#define LASER1_OFF() Gpio_ClrIO(LASER1_ON_OFF_PORTx, LASER1_ON_OFF_PINx) //LORA复位脚拉低
|
|
|
|
|
|
//< LASER2
|
|
|
|
|
|
#define LASER2_ON_OFF_PORTx GpioPortB
|
|
|
|
|
|
#define LASER2_ON_OFF_PINx GpioPin13
|
|
|
|
|
|
#define LASER2_ON() Gpio_SetIO(LASER2_ON_OFF_PORTx, LASER2_ON_OFF_PINx) //LORA复位脚拉高
|
|
|
|
|
|
#define LASER2_OFF() Gpio_ClrIO(LASER2_ON_OFF_PORTx, LASER2_ON_OFF_PINx) //LORA复位脚拉低
|
|
|
|
|
|
//< LASER3
|
|
|
|
|
|
#define LASER3_ON_OFF_PORTx GpioPortB
|
|
|
|
|
|
#define LASER3_ON_OFF_PINx GpioPin12
|
|
|
|
|
|
#define LASER3_ON() Gpio_SetIO(LASER3_ON_OFF_PORTx, LASER3_ON_OFF_PINx) //LORA复位脚拉高
|
|
|
|
|
|
#define LASER3_OFF() Gpio_ClrIO(LASER3_ON_OFF_PORTx, LASER3_ON_OFF_PINx) //LORA复位脚拉低
|
|
|
|
|
|
|
|
|
|
|
|
//<<------------------------------ ADC ---------------------------------->>
|
|
|
|
|
|
#define AD_ON_OFF_PORTx GpioPortA
|
|
|
|
|
|
#define AD_ON_OFF_PINx GpioPin3
|
|
|
|
|
|
#define AD_ON() Gpio_SetIO(AD_ON_OFF_PORTx, AD_ON_OFF_PINx) //LORA复位脚拉高
|
|
|
|
|
|
#define AD_OFF() Gpio_ClrIO(AD_ON_OFF_PORTx, AD_ON_OFF_PINx) //LORA复位脚拉低
|
|
|
|
|
|
|
|
|
|
|
|
#define VBAT_PORTx GpioPortA
|
|
|
|
|
|
#define VBAT_PINx GpioPin4
|
|
|
|
|
|
#define VBAT_ADC_PORTx AdcExInputCH4//采样通道
|
|
|
|
|
|
#define VBAT_CAL 3.5 //电池电压校准
|
|
|
|
|
|
|
|
|
|
|
|
//< 电池电压
|
|
|
|
|
|
extern float VBAT_8V4;
|
|
|
|
|
|
extern uint8_t VBAT_Percentage;
|
|
|
|
|
|
|
2026-05-20 13:41:07 +08:00
|
|
|
|
typedef struct {
|
|
|
|
|
|
uint32_t AppFlag;
|
|
|
|
|
|
uint32_t UpdateFlag;
|
|
|
|
|
|
uint32_t PackageCnt;
|
|
|
|
|
|
uint32_t AppSize;
|
|
|
|
|
|
uint32_t Crc32Check;
|
|
|
|
|
|
uint32_t FirstRunFlag;//第一次运行
|
|
|
|
|
|
uint8_t DevMac[6];//设备MAC
|
|
|
|
|
|
uint32_t LoraFreq;//Lora频率
|
|
|
|
|
|
}BootPara_t, *BootPara;
|
2026-04-23 14:02:03 +08:00
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
2026-05-20 13:41:07 +08:00
|
|
|
|
uint16_t CollectTime; //数据采集时间间隔,设置范围30*N秒,1<=N<=240,(默认300秒,N=10)
|
|
|
|
|
|
uint16_t ReportInterval; //上报时间间隔,设置范围,30*N秒,10<=N<=1440(默认1200秒,N=40)
|
|
|
|
|
|
uint8_t ERInterval; //紧急上报时间间隔,设置范围,30*N秒,2<=N<=10(默认120秒,N=4)
|
|
|
|
|
|
uint8_t ERTime; //紧急上报时长,设置范围,30*N秒,20<=N<=240(默认1200秒,N=40)
|
2026-04-23 14:02:03 +08:00
|
|
|
|
uint32_t TimeStamp; //网关返回RTC时间戳
|
|
|
|
|
|
}__attribute__((packed))LayoutPara_t,*LayoutPara;//上位机下发的配置参数
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
|
int16_t PitchZero; //俯仰角零点
|
|
|
|
|
|
int16_t RollZero; //横滚角零点
|
|
|
|
|
|
int16_t YawZero; //偏航角零点
|
|
|
|
|
|
}__attribute__ ((packed))CalibratePara_t, *CalibratePara;
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
2026-05-20 13:41:07 +08:00
|
|
|
|
bool OnOff;
|
|
|
|
|
|
uint8_t ucChannel;
|
|
|
|
|
|
int8_t ucPower;
|
|
|
|
|
|
uint8_t SignalBw;
|
|
|
|
|
|
uint8_t SpreadFactor;
|
|
|
|
|
|
uint8_t ErrorCoding;
|
|
|
|
|
|
uint8_t RegPreamble;
|
|
|
|
|
|
uint32_t FreqCent;
|
|
|
|
|
|
}__attribute__ ((packed))LoraPara_t, *pLoraPara;
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
|
bool Enable; //串口使能
|
|
|
|
|
|
bool UpgradeEnable;//升级功能使能
|
|
|
|
|
|
uint32_t Addr; //本机485地址
|
|
|
|
|
|
uint32_t BaudRate;
|
|
|
|
|
|
}__attribute__((packed))RS485Para_t, *RS485Para;
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
|
BootPara_t BLPara;
|
2026-04-23 14:02:03 +08:00
|
|
|
|
LayoutPara_t Layout;
|
|
|
|
|
|
CalibratePara_t CaliPara;
|
2026-05-20 13:41:07 +08:00
|
|
|
|
RS485Para_t Rs485Ch1;
|
|
|
|
|
|
RS485Para_t Rs485Ch2;
|
2026-04-23 14:02:03 +08:00
|
|
|
|
uint32_t FactoryFlag;//出厂标志位
|
2026-05-20 13:41:07 +08:00
|
|
|
|
LoraPara_t Lora;
|
2026-04-23 14:02:03 +08:00
|
|
|
|
}AppPara_T, *pAppPara;
|
2026-05-20 13:41:07 +08:00
|
|
|
|
//#define APP_PARA_ADDRESS (0x0001FC00)
|
|
|
|
|
|
#define SAVE_APP_PARA(addr) FlashWrite(BOOT_PARA_ADDRESS, addr, sizeof(App.Para) / 4)
|
|
|
|
|
|
#define READ_APP_PARA(addr) FlashRead(BOOT_PARA_ADDRESS, addr, sizeof(App.Para) / 4)
|
2026-04-23 14:02:03 +08:00
|
|
|
|
|
|
|
|
|
|
void BspInit(void);
|
2026-05-20 13:41:07 +08:00
|
|
|
|
void LpUart0Init(uint32_t Baud);
|
|
|
|
|
|
void Uart0Init(uint32_t Baud);
|
2026-04-23 14:02:03 +08:00
|
|
|
|
void EnterDeepSleep(void);
|
|
|
|
|
|
void DBGUartSendByte(uint8_t sData);
|
|
|
|
|
|
void DBGUartSend(uint8_t *sData, int sLen);
|
|
|
|
|
|
void LPUart0SendArray(uint8_t *sData, uint8_t sLen);
|
|
|
|
|
|
void Uart1SendArray(uint8_t *sData, uint8_t sLen);
|
|
|
|
|
|
|
|
|
|
|
|
uint32_t GetSysTick(void);
|
|
|
|
|
|
void delay_ms(uint32_t ms);
|
|
|
|
|
|
void Delay(uint32_t time);
|
|
|
|
|
|
void RTCInit(uint8_t sec);
|
|
|
|
|
|
void LPTimer0_ON(uint16_t _100ms);
|
|
|
|
|
|
void LPTimer0_OFF(void);
|
|
|
|
|
|
void WakeUpInit(void);
|
|
|
|
|
|
void FeedDog(void);
|
|
|
|
|
|
uint32_t TimeTs(void);
|
|
|
|
|
|
void TimeShow(uint32_t dwStamp);
|
|
|
|
|
|
void TimeSync(time_t ts);
|
|
|
|
|
|
void PrintfMess(void);
|
|
|
|
|
|
void SystemReset(void);
|
|
|
|
|
|
uint8_t Spi0SendReceive(uint8_t sData);
|
|
|
|
|
|
uint8_t Spi1SendReceive(uint8_t sData);
|
|
|
|
|
|
void FlashWrite(uint32_t Addr, uint32_t *wData, int wLen);
|
|
|
|
|
|
void FlashRead(uint32_t Addr, uint32_t *rData, int rLen);
|
|
|
|
|
|
|
|
|
|
|
|
void ADCLoopHandler(void);
|
|
|
|
|
|
void LORA_RxCallBack(uint8_t *rBuff, uint8_t rlen);
|
|
|
|
|
|
|
|
|
|
|
|
void GlobalIntEnable(void);
|
|
|
|
|
|
void GlobalIntDisable(void);
|
|
|
|
|
|
void LORAIntEnable(void);
|
|
|
|
|
|
void LORAIntDisable(void);
|
|
|
|
|
|
void ACCandMMCIntEnable(void);
|
|
|
|
|
|
void ACCandMMCIntDisable(void);
|
|
|
|
|
|
#endif
|
2026-05-20 13:41:07 +08:00
|
|
|
|
|