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/stm32f10x_it.c |  155 +++++++++++++++++++++++++++++----------------------
 1 files changed, 89 insertions(+), 66 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 a22f0be..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"
@@ -32,88 +32,97 @@
 /* Tick timer count. */
 volatile uint32_t time32_incr;
 uint8_t tt=0;
-uint8_t g_start_send_flag = 0,sync_seq=0,usart_send_flag;
-u16 usart_timer=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, tag_timer,last_polltime;
 extern uint16_t g_Resttimer,heartbeat_timer,sync_timer;
 extern uint8_t g_pairstart;
-u8 neartimout_timer=0,flag_syncbase=0;
-extern u16 tyncpoll_time;
+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++;
+//	heartbeat_timer++;
 	sync_timer++;	
-	neartimout_timer++;
-	synclost_timer++;		
-	GPIO_WriteBit(GPIOA, GPIO_Pin_10, Bit_RESET);			
+//	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)
-		{
-		GPIO_WriteBit(GPIOA, GPIO_Pin_10, Bit_SET);	
-			sync_timer=0;
-		  TagListUpdate();
-		}
-		
-	if(g_Resttimer++>2000)
-	{
-		NVIC_SystemReset();
-	}
-
-
-
-	
-	if(!g_com_map[DEV_ROLE])  //基站
-	{
-		tag_recv_timer++;
-		TagDistClear();
-	if(g_com_map[ANC_POLL])
-		{
-			if(sync_timer%g_com_map[COM_INTERVAL]==tyncpoll_time&&sync_timer<990&&sync_timer!=last_polltime)
+		{uint8_t i;
+			heartbeat_timer++;
+			for(i=0;i<MAX_REGTAGNUM;i++)
 			{
-			g_start_send_flag=1;
+				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);
 			}
 		}
-		
-		#ifdef USART_INTEGRATE_OUTPUT
-		if(sync_timer%g_com_map[COM_INTERVAL]==tyncpoll_time&&sync_timer<990)
-		{
-			
-			usart_send_flag=1;		
-		}
-		#endif
-		if(sync_timer>500&&dev_id!=0)
-		{
-		 sync_seq=0xff;
-		}
-		if(synclost_timer>SYNCLOST_TIME)
-		{
-			flag_syncbase=1;
-		}
+//		
 
-		if(flag_syncbase)  //本模块是同步基站
-		{
-		if(sync_timer==995)
-		{
-			current_syncid = g_com_map[DEV_ID];
-			sync_seq=0;
-				SyncPoll(sync_seq,current_syncid);
-		}
-	}
-	}else{		//标签同步处理
-		if(sync_timer%g_com_map[COM_INTERVAL]==tyncpoll_time&&sync_timer<990&&sync_timer!=last_polltime)
-		{
-			last_polltime=sync_timer;
-		//	GPIO_WriteBit(GPIOA, GPIO_Pin_9, Bit_SET);
-		g_start_send_flag=1;
-		}
-		
-	}
+
+
+
+//	
+//	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;
+//		}
+//		
+	
 
 		}
 }
@@ -135,7 +144,21 @@
 
   }   
 }
-
+u8 needanchorrx=1;
+u16 ttt = 0;
+extern u32  status_reg;
+void EXTI0_IRQHandler(void)
+{
+  if(EXTI_GetITStatus(EXTI_Line0)!= RESET)  
+  { 
+    EXTI_ClearITPendingBit(EXTI_Line0);
+	
+		//GPIOA->BSRR = GPIO_Pin_8;
+			//if(ttt==0)
+    Anchor_App();
+		//GPIOA->BRR = GPIO_Pin_8;
+  }   
+}
 void USART1_IRQHandler(void)
 {
   if(USART_GetITStatus(EXT_UART, USART_IT_RXNE) != RESET)//?????????

--
Gitblit v1.9.3