From 96a63685fd53bd939772377296a9e732333e3748 Mon Sep 17 00:00:00 2001
From: zhyinch <zhyinch@gmail.com>
Date: 星期一, 28 三月 2022 10:23:16 +0800
Subject: [PATCH] V2.47 可能有无法接收数据的bug

---
 源码/核心板/Src/OnChipDevices/Usart.h |   52 ++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 46 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..ea3e93b 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,56 @@
 #define __USART_H__
 
 #include "stm32f10x.h"
+#define EXUART_USE_TXDMA
+#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 USART_TX_pin			GPIO_Pin_9
-#define USART_RX_pin			GPIO_Pin_10
-#define USART_GPIO				GPIOA
-#define EXT_USART				USART1
+//#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
 
-#define BAUD_RATE				115200
+#define	EXUART_BAUD_RADE		921600
 
+#define EUART_RX_DMA_CH	 		DMA1_Channel5
+#define EUART_TX_DMA_CH			DMA1_Channel4
 
-void Usart_Init(void);
+#define EUART_DMA DMA1
+#define EUART_TX_DMA_IT_TC DMA1_IT_TC4 
+#define EUART_TX_FRM_SIZE		25				//发送队列中的最大帧数
+#define EUART_TX_FRMBUF_SIZE	110				//发送队列每帧缓存大小
+#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);
+//////////////////////////////////////////////////////////
+#define EXT_UART2				USART2
+#define UART2_RX_DMA_CH	 		DMA1_Channel6
 #endif
 

--
Gitblit v1.9.3