From af4710835316cb2fd8dd70db7867e23147206f31 Mon Sep 17 00:00:00 2001
From: zhyinch <zhyinch@gmail.com>
Date: 星期四, 17 二月 2022 09:33:48 +0800
Subject: [PATCH] 增加跳跃时间

---
 源码/核心板/Src/OnChipDevices/Usart.h |   98 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 92 insertions(+), 6 deletions(-)

diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/OnChipDevices/Usart.h" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/OnChipDevices/Usart.h"
index 13d3a56..f8d42a9 100644
--- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/OnChipDevices/Usart.h"
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/OnChipDevices/Usart.h"
@@ -3,16 +3,102 @@
 #define __USART_H__
 
 #include "stm32f10x.h"
+//#define BAUDRATE_19200
 
-#define USART_TX_pin			GPIO_Pin_9
-#define USART_RX_pin			GPIO_Pin_10
-#define USART_GPIO				GPIOA
-#define EXT_USART				USART1
+#define EU_485_PIN				GPIO_Pin_7
+#define EU_485_GPIO				GPIOB
+#define OUT485_ENABLE 		GPIO_WriteBit(EU_485_GPIO, EU_485_PIN, Bit_SET);
+#define OUT485_DISABLE 		GPIO_WriteBit(EU_485_GPIO, EU_485_PIN, Bit_RESET);
 
-#define BAUD_RATE				115200
+//#define UART_GPIO_REMAP_ENABLE
+#ifdef UART_GPIO_REMAP_ENABLE
+	#define UART_GPIO_REMAP			GPIO_Remap_USART1
+	#define EU_RCC_GPIO				RCC_APB2Periph_GPIOB
+	#define EU_TX_PIN				GPIO_Pin_6
+	#define EU_RX_PIN				GPIO_Pin_7
+	#define EU_RX_GPIO				GPIOB
+	#define EU_TX_GPIO				GPIOB
+#else
+	#define EU_RCC_GPIO				RCC_APB2Periph_GPIOA
+	#define EU_TX_PIN				GPIO_Pin_9
+	#define EU_RX_PIN				GPIO_Pin_10
+	#define EU_RX_GPIO				GPIOA
+	#define EU_TX_GPIO				GPIOA
+#endif
 
+#ifdef BAUDRATE_19200
+#define	EXUART_BAUD_RADE		19200
+#else
+#define	EXUART_BAUD_RADE		115200
+#endif
 
-void Usart_Init(void);
+#define EUART_RX_DMA_CH	 		DMA1_Channel5
+#define EUART_TX_DMA_CH			DMA1_Channel4
 
+#define EUART_TX_FRM_SIZE		14				//发送队列中的最大帧数
+#define EUART_TX_FRMBUF_SIZE	200				//发送  队列每帧缓存大小
+#define EUART_RX_BUF_SIZE		200				//接收缓存大小
+
+#define EXT_UART				USART1
+#define EXT_UART_RCC			RCC_APB2Periph_USART1
+
+typedef struct _EUART_Frame {					//数据发送帧队列结构体
+	int32_t len;								//帧长度
+	uint8_t buf[EUART_TX_FRMBUF_SIZE];			//帧数据
+} EUART_Frame;
+
+void Uart1_Init(void);
+
+void UART_CheckReceive(void);
+void UART_CheckSend(void);
+void UART_PushFrame(uint8_t* pdata, int32_t data_len);
+void UART_PopFrame(void);
+extern void (*Usart1ParseDataCallback)(uint8_t);
+extern u8 cmd_mode;
+#define HIDO_VOID                         void
+typedef unsigned char                     HIDO_UINT8;                           /* 前缀u8 */
+typedef unsigned short                    HIDO_UINT16;                          /* 前缀u16 */
+typedef unsigned int                      HIDO_UINT32;                          /* 前缀u32 */
+typedef unsigned long long                HIDO_UINT64;                          /* 前缀u64 */
+typedef signed char                       HIDO_INT8;                            /* 前缀i8 */
+typedef signed short                      HIDO_INT16;                           /* 前缀i16 */
+typedef signed int                        HIDO_INT32;                           /* 前缀i32 */
+typedef signed long long                  HIDO_INT64;                           /* 前缀i64 */
+typedef char                              HIDO_CHAR;                            /* 前缀c */
+typedef float                             HIDO_FLOAT;                           /* 前缀f */
+typedef double                            HIDO_DOUBLE;                          /* 前缀d */
+typedef struct
+{
+    HIDO_VOID *m_pData;
+    HIDO_UINT32 m_u32Len;
+}HIDO_DataStruct;
+typedef enum
+{
+    GPS_STATE_INVALID = 0,
+    GPS_STATE_VALID,
+} E_GPSState;
+typedef enum { HIDO_FALSE, HIDO_TRUE }    HIDO_BOOL;                            /* 前缀b */
+typedef HIDO_INT32 *INT32_PTR;
+typedef HIDO_UINT32 *UINT32_PTR;
+typedef HIDO_DataStruct *DATA_PTR;
+typedef HIDO_UINT8 **U8_PTR_PTR;
+
+typedef struct
+{
+    HIDO_UINT16 m_u16Speed;
+    HIDO_UINT16 m_u16Dir; //direction
+    HIDO_DOUBLE m_dLat; //latitude
+    HIDO_DOUBLE m_dLon; //longitude
+    E_GPSState m_eState;
+    HIDO_UINT16 m_u16Year;
+    HIDO_UINT8 m_u8Mon; //month
+    HIDO_UINT8 m_u8Day;
+    HIDO_UINT8 m_u8Hour;
+    HIDO_UINT8 m_u8Min; //minute
+    HIDO_UINT8 m_u8Sec; //second
+}ST_GPS;
+HIDO_UINT32 HIDO_UtilParseFormat(HIDO_UINT8 *_pu8Src, HIDO_UINT32 _u32SrcLen, const HIDO_CHAR *_pcFmt, ...);
+#define HIDO_OK                           0                                     /* 正常返回 */
+#define HIDO_ERR                          -1                                    /* 出错返回,没有明确具体出错原因的返回 */
 #endif
 

--
Gitblit v1.9.3