20230731_XiaoFuZi_emb/ZheDaXiaoFuZi/Src/Usr/Driver/Ldrv/WH-GN100/McuWH-GN100Drv.h

61 lines
2.2 KiB
C
Raw Normal View History

#ifndef _MCU_DRV_WH_GN100_H_
#define _MCU_DRV_WH_GN100_H_
#include "McuBspUart.h"
#include "McuBspGpio.h"
#include "McuBspRtc.h"
#define MCU_DRV_WH_GN100_UART_ID MCU_BSP_UART3_ID
#define MCU_DRV_WH_GN100_UART_BAUDRATE 9600 // 波特率
#define MCU_DRV_WH_GN100_UART_WORDLEN UART_WORDLENGTH_8B // 8位字长
#define MCU_DRV_WH_GN100_UART_STOPBITS UART_STOPBITS_1 // 1位停止位
#define MCU_DRV_WH_GN100_UART_PARITY UART_PARITY_NONE // 无奇偶校验位
#define MCU_DRV_WH_GN100_UART_MODE UART_MODE_TX_RX // 读写模式
/* 模块低功耗唤醒引脚 */
#define MCU_DRV_WH_GN100_WAKEUP_GPIO_PORT GPIOG
#define MCU_DRV_WH_GN100_WAKEUP_GPIO_PIN GPIO_PIN_7
#define MCU_DRV_WH_GN100_WAKEUP_GPIO_MODE GPIO_MODE_OUTPUT_PP
#define MCU_DRV_WH_GN100_WAKEUP_GPIO_PULL GPIO_PULLDOWN
#define MCU_DRV_WH_GN100_WAKEUP_GPIO_SPEED GPIO_SPEED_FREQ_HIGH
#define MCU_DRV_WH_GN100_WAKEUP_FLAG 1
#define MCU_DRV_WH_GN100_LOW_POWER_FLAG 0
/* 模块电源引脚 */
#define MCU_DRV_WH_GN100_POWER_GPIO_PORT GPIOG
#define MCU_DRV_WH_GN100_POWER_GPIO_PIN GPIO_PIN_5
#define MCU_DRV_WH_GN100_POWER_GPIO_MODE GPIO_MODE_OUTPUT_PP
#define MCU_DRV_WH_GN100_POWER_GPIO_PULL GPIO_PULLDOWN
#define MCU_DRV_WH_GN100_POWER_GPIO_SPEED GPIO_SPEED_FREQ_HIGH
/* 软件重启方式 */
#define MCU_DRV_WH_GN100_RESTART_TYPE_HOT 1
#define MCU_DRV_WH_GN100_RESTART_TYPE_WARM 2
#define MCU_DRV_WH_GN100_RESTART_TYPE_COLD 3
/* 模块定位模式 */
#define MCU_DRV_WH_GN100_POSITION_GPS 1
#define MCU_DRV_WH_GN100_POSITION_GNSS 2
#define MCU_DRV_WH_GN100_POSITION_BD 4
#define MCU_DRV_WH_GN100_POSITION_Gli 8
/* 东经西经 */
#define MCU_DRV_WH_GN100_LON_E 0
#define MCU_DRV_WH_GN100_LON_W 1
/* 南纬北纬 */
#define MCU_DRV_WH_GN100_LAT_N 0
#define MCU_DRV_WH_GN100_LAT_S 1
/* 初始化函数 */
int McuDrvWHGN100Init(void);
/* 获取经纬度数据 */
int McuDrvWHGN100GetLatAndLon(float *Lat, unsigned char *LatFlag, float *Lon, unsigned char *LonFlag, MCU_BSP_CLOCK *Clock);
/* 配置NMEA输出频率 freq单位为ms范围为200-10000 */
int McuDrvWHGN100NMEAOutfreq(uint16_t freq);
/* 设置重启指令 */
int McuDrvWHGN100NMEASetRestart(uint8_t type);
/* 设置定位模式 */
int McuDrvWHGN100NMEASetPositioningMode(uint8_t mode);
void McuDrvWHGN100LowPower(uint8_t flag);
#endif