From 97ae3565c364be9df5c9d15257461b981f077126 Mon Sep 17 00:00:00 2001
From: zhyinch <zhyinch@gmail.com>
Date: 星期四, 12 五月 2022 21:33:49 +0800
Subject: [PATCH] V2.51 CH3 临近切换距离位0基站不回复搜索模式

---
 源码/核心板/Src/OnChipDevices/Usart.c |   23 ++++++++++++-----------
 1 files changed, 12 insertions(+), 11 deletions(-)

diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/OnChipDevices/Usart.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/OnChipDevices/Usart.c"
index fec7f44..5e9941d 100644
--- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/OnChipDevices/Usart.c"
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/OnChipDevices/Usart.c"
@@ -9,7 +9,7 @@
 volatile int8_t m_EUART_TxFrm_FreeFrmLen = 0;			//数据发送帧队列剩余帧数
 //DMA数据接收缓存
 uint8_t m_EUART_DMA_RXBuf[EUART_RX_BUF_SIZE];			//DMA数据接收缓存
-volatile int32_t m_EUART_DMA_RXPtr = 0;					//当前数据地址
+volatile int32_t m_EUART_DMA_RXPtr = 0,m_EUART2_DMA_RXPtr = 0;					//当前数据地址
 //标志变量
 volatile uint8_t m_bEUARTPushingFrms = 0;				//正在往发送队列存数据
 volatile uint8_t m_bEUARTCheckingSend = 0;				//正在确认数据发送
@@ -204,8 +204,7 @@
 	
 	//发送一个字节数据
 	EXT_UART->DR = m_EUART_TxFrames[m_EUART_TxFrm_Tail].buf[s_count];	
-    EXT_UART2->DR = m_EUART_TxFrames[m_EUART_TxFrm_Tail].buf[s_count];		
-	s_count++;
+ 	s_count++;
 	if(s_count >= m_EUART_TxFrames[m_EUART_TxFrm_Tail].len)		//一帧数据发送完毕
 	{
 		s_count = 0;
@@ -218,7 +217,7 @@
  }		   // */
 
 #else
- /*
+
 //检查是否数据帧需要发送
 void UART_CheckSend(void)
 {
@@ -261,15 +260,16 @@
 }					// */	
 #endif
 
-
+u16 t1,t2,t3;
 //将一帧数据压入发送队列
 void UART_PushFrame(uint8_t* pdata, int32_t data_len)
 {
 //	uint8_t temp8 = 0;
 	if(m_bEUARTPushingFrms || m_bEUARTCheckingSend)
+	{
 		return;
+	}
 	m_bEUARTPushingFrms = 1;
-	
 	if(data_len > EUART_TX_FRMBUF_SIZE || m_EUART_TxFrm_FreeFrmLen <= 0)		//帧长度超范围或缓存已满
 	{
 		m_bEUARTPushingFrms = 0;
@@ -284,6 +284,7 @@
 		m_EUART_TxFrm_Head = 0;
 	m_EUART_TxFrm_FreeFrmLen--;
 	m_bEUARTPushingFrms = 0;	
+	UART_CheckSend();
 }
 
 //将最新一帧数据Pop出队列
@@ -438,14 +439,14 @@
 		return;
 	}
 	DMACnt = EUART_RX_BUF_SIZE - (UART2_RX_DMA_CH->CNDTR);
-	while( m_EUART_DMA_RXPtr != DMACnt && MaxDataLen > 0)
+	while( m_EUART2_DMA_RXPtr != DMACnt && MaxDataLen > 0)
 	{
-		Usart1ParseDataCallback(m_EUART_DMA_RXBuf[m_EUART_DMA_RXPtr]);
+		Usart1ParseDataCallback(m_EUART_DMA_RXBuf[m_EUART2_DMA_RXPtr]);
 		delay_us(10);
-		m_EUART_DMA_RXPtr++;
-		if( m_EUART_DMA_RXPtr >= EUART_RX_BUF_SIZE )
+		m_EUART2_DMA_RXPtr++;
+		if( m_EUART2_DMA_RXPtr >= EUART_RX_BUF_SIZE )
 		{
-			m_EUART_DMA_RXPtr = 0;
+			m_EUART2_DMA_RXPtr = 0;
 		}
 		DMACnt = EUART_RX_BUF_SIZE - (UART2_RX_DMA_CH->CNDTR);
 		MaxDataLen--;

--
Gitblit v1.9.3