From fc89f1e7e828ce2045d9744ab4816b30d72e4c22 Mon Sep 17 00:00:00 2001 From: zhangbo <zhangbo@qq.com> Date: 星期三, 07 五月 2025 10:25:44 +0800 Subject: [PATCH] 1.12添加无测距休眠30秒开一次测距 --- keil/include/drivers/DBG.c | 76 +++++++++++++++++++++----------------- 1 files changed, 42 insertions(+), 34 deletions(-) diff --git a/keil/include/drivers/DBG.c b/keil/include/drivers/DBG.c index ab35f75..4ae524b 100644 --- a/keil/include/drivers/DBG.c +++ b/keil/include/drivers/DBG.c @@ -25,8 +25,8 @@ * Macro * *******************************************************************************/ #define OUTPUT_BUF_SIZE 512 -#define DBG_UART_RX_BUF_SIZE 256 -#define DBG_UART_TX_BUF_SIZE (1024*2) +#define DBG_UART_RX_BUF_SIZE 128 +#define DBG_UART_TX_BUF_SIZE 128 #define DBG_UART_TX_QUEUE_MEMBER_CNT 64 /******************************************************************************* @@ -66,7 +66,7 @@ *******************************************************************************/ static HIDO_INT32 DBG_SerialGetChar(HIDO_UINT8 *_pu8Char) { - return Uart_GetChar(UART_ID_DBG, _pu8Char); + return Uart_GetChar(UART_ID_DBG_GPS, _pu8Char); } /******************************************************************************* @@ -91,7 +91,7 @@ vsnprintf(acOutputBuf, sizeof(acOutputBuf), _pcFmt, ap); va_end(ap); - return Uart_Send(UART_ID_DBG, (HIDO_UINT8 *) acOutputBuf, strlen(acOutputBuf)); + return Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) acOutputBuf, strlen(acOutputBuf)); } /******************************************************************************* @@ -112,7 +112,7 @@ } HIDO_INT32 s32Ret = 0; - s32Ret = Uart_Send(UART_ID_DBG, (HIDO_UINT8 *) _pcString, strlen(_pcString)); + s32Ret = Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) _pcString, strlen(_pcString)); return s32Ret; } @@ -135,7 +135,7 @@ } HIDO_INT32 s32Ret = 0; - s32Ret = Uart_Send(UART_ID_DBG, &_u8Char, 1); + s32Ret = Uart_Send(UART_ID_DBG_GPS, &_u8Char, 1); return s32Ret; } @@ -172,7 +172,7 @@ u32Len = sizeof(acOutputBuf) - 1; } - Uart_Send(UART_ID_DBG, (HIDO_UINT8 *) acOutputBuf, u32Len); + Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) acOutputBuf, u32Len); return HIDO_OK; } @@ -195,7 +195,7 @@ u32Len = sizeof(acOutputBuf) - 1; } - Uart_Send(UART_ID_DBG, (HIDO_UINT8 *) acOutputBuf, u32Len); + Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) acOutputBuf, u32Len); return HIDO_OK; } @@ -227,7 +227,7 @@ // stRTCDateTime.m_u16Year, stRTCDateTime.m_u8Month, stRTCDateTime.m_u8Day, stRTCDateTime.m_u8Hour, // stRTCDateTime.m_u8Min, stRTCDateTime.m_u8Sec, HAL_GetTick() % 1000); // - Uart_Send(UART_ID_DBG, (HIDO_UINT8 *) acOutputBuf, u32Len); + Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) acOutputBuf, u32Len); va_start(ap, _pcFmt); u32Len = vsnprintf(acOutputBuf, sizeof(acOutputBuf), _pcFmt, ap); @@ -238,7 +238,7 @@ u32Len = sizeof(acOutputBuf) - 1; } - Uart_Send(UART_ID_DBG, (HIDO_UINT8 *) acOutputBuf, u32Len); + Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) acOutputBuf, u32Len); return HIDO_OK; } @@ -281,7 +281,7 @@ memset(acOutputBuf, 0, sizeof(acOutputBuf)); HIDO_UtilByteArrayToHexString(_pu8Data, u32Len, acOutputBuf, sizeof(acOutputBuf), HIDO_TRUE); strcat(acOutputBuf, "\r\n"); - Uart_Send(UART_ID_DBG, (HIDO_UINT8 *) acOutputBuf, strlen(acOutputBuf)); + Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) acOutputBuf, strlen(acOutputBuf)); _u32Len -= u32Len; _pu8Data += u32Len; @@ -318,9 +318,9 @@ stRTCDateTime.m_u16Year, stRTCDateTime.m_u8Month, stRTCDateTime.m_u8Day, stRTCDateTime.m_u8Hour, stRTCDateTime.m_u8Min, stRTCDateTime.m_u8Sec, HAL_GetTick() % 1000); - Uart_Send(UART_ID_DBG, (HIDO_UINT8 *) acOutputBuf, u32Len); + Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) acOutputBuf, u32Len); #endif - return Uart_Send(UART_ID_DBG, (HIDO_UINT8 *) _pu8String, _u32StringLen); + return Uart_Send(UART_ID_DBG_GPS, (HIDO_UINT8 *) _pu8String, _u32StringLen); } /******************************************************************************* @@ -364,6 +364,11 @@ *******************************************************************************/ E_DBGMode DBG_GetMode(void) { + if(Get5VState() == 0) + { + return DBG_MODE_GPS; + } + return l_eDBGMode; } @@ -384,12 +389,16 @@ { HIDO_InputPoll(); } + else if(DBG_GetMode() == DBG_MODE_GPS) + { + GPS_Poll(); + } else if(DBG_GetMode() == DBG_MODE_CHARGE) { - static HIDO_UINT32 l_u32ModeTick = 0;; + static HIDO_UINT32 l_u32ModeTick = 0;; HIDO_UINT8 u8RecvChar = 0; -// UART_HandleTypeDef *pstUartHandle = HIDO_NULL; - while (Uart_GetChar(UART_ID_DBG, &u8RecvChar) == HIDO_OK) + + while (Uart_GetChar(UART_ID_DBG_GPS, &u8RecvChar) == HIDO_OK) { if(u8RecvChar == 0x03) { @@ -411,7 +420,6 @@ l_u32ModeTick = 0; } UsartParseDataHandler(u8RecvChar); - // HAL_UART_Transmit(pstUartHandle, &u8RecvChar, 1, 1000); } } } @@ -428,27 +436,27 @@ *******************************************************************************/ HIDO_VOID DBG_Init(void) { -// ST_UartInit stInit; -// -// memset(&stInit, 0, sizeof(stInit)); -// stInit.m_eRxMode = UART_RX_MODE_DMA; -//#if DBG_TX_DMA -// stInit.m_eTxMode = UART_TX_MODE_DMA; -//#else -// stInit.m_eTxMode = UART_TX_MODE_POLL; -//#endif -// stInit.m_pu8RxBuf = l_au8DBGUartRxBuf; -// stInit.m_u32RxBufSize = DBG_UART_RX_BUF_SIZE; -//#if DBG_TX_DMA -// stInit.m_pu8TxBuf = l_au8DBGUartTxBuf; -//#endif -// stInit.m_u32TxBufSize = DBG_UART_TX_BUF_SIZE; -// stInit.m_u32TxQueueMemberCnt = DBG_UART_TX_QUEUE_MEMBER_CNT; -// Uart_Init(UART_ID_DBG, &stInit); + ST_UartInit stUartInit; + + // 调试串口逻辑上的初始化,并不是真正意义的硬件初始化,为了适配UART.c接口 + stUartInit.m_eRxMode = UART_RX_MODE_DMA; //没有具体意义,就韦了适配接口 + stUartInit.m_eTxMode = UART_TX_MODE_POLL; //没有具体意义,就韦了适配接口 + stUartInit.m_pu8RxBuf = l_au8DBGUartRxBuf; + stUartInit.m_u32RxBufSize = DBG_UART_RX_BUF_SIZE; + stUartInit.m_pu8TxBuf = HIDO_NULL; + stUartInit.m_u32TxBufSize = 0; + stUartInit.m_u32TxQueueMemberCnt = 0; + stUartInit.m_u32BaudRate = 115200; + if(Uart_Init(UART_ID_DBG_GPS, &stUartInit) != HIDO_OK) + { + return; + } l_stSerialInput.m_fnPrintf = DBG_SerialPrintf; l_stSerialInput.m_fnGetc = DBG_SerialGetChar; l_stSerialInput.m_fnPutc = DBG_SerialPutChar; l_stSerialInput.m_fnPuts = DBG_SerialPutString; HIDO_InputRegister(&l_stSerialInput); + + Shell_Init(); } -- Gitblit v1.9.3