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/stm32f10x_it.c |  151 ++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 114 insertions(+), 37 deletions(-)

diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/stm32f10x_it.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/stm32f10x_it.c"
index 92c2c5b..a60802e 100644
--- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/stm32f10x_it.c"
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/stm32f10x_it.c"
@@ -28,33 +28,108 @@
 #include "beep_logic_app.h"
 #include "led.h"
 #include "Usart.h"
+#include "dw_app.h"
 /* Tick timer count. */
 volatile uint32_t time32_incr;
 uint8_t tt=0;
-uint8_t g_start_send_flag = 0;
+uint8_t g_start_send_flag = 0,sync_seq=0,usart_send_flag,waitsync_flag=0;
+u16 usart_timer=0,synclost_count=0;
 uint16_t sysscal;
-u16 tag_recv_timer;
-extern uint16_t g_Resttimer;
+u16 tag_recv_timer, tag_timer,last_polltime;
+extern uint16_t g_Resttimer,heartbeat_timer,sync_timer;
 extern uint8_t g_pairstart;
-void SysTick_Handler(void)
-{uint16_t i;
-  time32_incr++;
-	g_UWB_com_interval++;
+u8 neartimout_timer=0,flag_syncbase=0,flag_newsecond=0;
+extern u16 tyncpoll_time,target_time;
+extern uint32_t synclost_timer,current_syncid;
+void TIM3_IRQHandler(void)   //TIM3??
+{
+	if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)  //??TIM3????????
+		{
+		TIM_ClearITPendingBit(TIM3, TIM_IT_Update  );  //??TIMx?????? 
+//	main_logic();		
+	time32_incr++;
+//	heartbeat_timer++;
+	sync_timer++;	
+//	neartimout_timer++;
+//	synclost_timer++;		
+//	GPIO_WriteBit(GPIOA, GPIO_Pin_8, Bit_RESET);	
+GPIOA->BRR = GPIO_Pin_8;
+if(sync_timer==10)
+{
+GPIOA->BSRR = GPIO_Pin_8;
+}	
+
+	if(sync_timer>=1000)
+		{uint8_t i;
+			heartbeat_timer++;
+			for(i=0;i<MAX_REGTAGNUM;i++)
+			{
+				if(regtag_map.remain_time[i]>0)
+				{
+					regtag_map.remain_time[i]--;
+				}
+			}
+			if(pwtag.remain_time>0)
+			{pwtag.remain_time--;}
+			flag_newsecond=1;
+//		GPIO_WriteBit(GPIOA, GPIO_Pin_8, Bit_SET);	
+			sync_timer=0;
+			synclost_count++;
+
+			if(g_Resttimer++>12)
+			{
+				NVIC_SystemReset();
+			}
+		if(g_com_map[BASESYNCSEQ]==1)  //本模块是同步基站
+			{
+				synclost_count = 0;
+				current_syncid = 1;
+				sync_seq=0;
+				SyncPoll(sync_seq);
+			}
+		}
+//		
+
+
+
+
+//	
+//	if(!g_com_map[DEV_ROLE])  //基站
+//	{
+//		tag_recv_timer++;
+//		TagDistClear();
+//	if(g_com_map[ANC_POLL])
+//		{
+//			if(sync_timer==target_time)
+//			{
+//			g_start_send_flag=1;
+//			}
+//		}
+//		
+//		#ifdef USART_INTEGRATE_OUTPUT
+//		if(sync_timer%g_com_map[COM_INTERVAL]==0)
+//		{
+//			
+//			usart_send_flag=1;		
+//		}
+//		#endif
+//	}else{		//标签同步处理
+//		if(sync_timer==target_time)
+//		{
+
+//			last_polltime=sync_timer;
+//		//	GPIO_WriteBit(GPIOA, GPIO_Pin_9, Bit_SET);
+//		g_start_send_flag=1;
+//		}
+//		
 	
-	if(g_Resttimer++>2000)
-	{
-		NVIC_SystemReset();
-	}
-//	if(g_UWB_com_interval > 1000)
-//	{	
-//		dis_after_filter = DEFAULT_DISTANCE;
-//	}
-#ifdef WORK_MODE_ANCHOR
-	tag_recv_timer++;
-	TagDistClear();
-	if(g_pairstart!=1)
-		main_logic();
-#endif	
+
+		}
+}
+
+void SysTick_Handler(void)
+{
+	
 
 }
 
@@ -69,18 +144,20 @@
 
   }   
 }
-
-void RTCAlarm_IRQHandler(void)
+u8 needanchorrx=1;
+u16 ttt = 0;
+extern u32  status_reg;
+void EXTI0_IRQHandler(void)
 {
-	//		LED0_BLINK;
-	RCC_Configuration();
-	//	LED0_BLINK;
-	EXTI_ClearITPendingBit(EXTI_Line17);
-	RTC_ClearITPendingBit(RTC_FLAG_ALR);
-	g_start_send_flag = 1;
+  if(EXTI_GetITStatus(EXTI_Line0)!= RESET)  
+  { 
+    EXTI_ClearITPendingBit(EXTI_Line0);
 	
-	tt++;
-  //SYS.wake_id|=1<<17;
+		//GPIOA->BSRR = GPIO_Pin_8;
+			//if(ttt==0)
+    Anchor_App();
+		//GPIOA->BRR = GPIO_Pin_8;
+  }   
 }
 void USART1_IRQHandler(void)
 {
@@ -89,15 +166,15 @@
     	UART_CheckReceive();
   }
 
-  /*************************************************************
 
-  if(USART_GetITStatus(USARTy, USART_IT_TXE) != RESET)
 
-  {   
+//  if(USART_GetITStatus(USARTy, USART_IT_TXE) != RESET)
 
-        USART_SendData(USARTy, TxBuffer1[TxCounter1++]);
+//  {   
 
-  }    
-/******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/
+//        USART_SendData(USARTy, TxBuffer1[TxCounter1++]);
+
+//  }    
+
 }
 

--
Gitblit v1.9.3