From 566ed7f3c2620e22f0e7df0c733b31a4187da502 Mon Sep 17 00:00:00 2001
From: zhangbo <zhangbo@qq.com>
Date: 星期二, 29 七月 2025 18:07:58 +0800
Subject: [PATCH] V1.69

---
 源码/核心板/Src/main.c |   66 ++++++++++++++++++++++----------
 1 files changed, 45 insertions(+), 21 deletions(-)

diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c"
index 960746b..153893e 100644
--- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c"
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c"
@@ -46,7 +46,7 @@
 	RCC_Configuration();
 	//SystemInit();
 	NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x5000);
-	
+	Nvic_Init();
 //	Systick_Init();
 	TIM3_Int_Init();
 	Led_Init();
@@ -55,9 +55,8 @@
 	Uart1_Init();
 	Spi_Init();
 	ADC_Configuration();
-	//IWDG_Config(IWDG_Prescaler_128 ,4095);   //10s
-	Nvic_Init();
-  IWDG_Feed();
+	IWDG_Config(IWDG_Prescaler_128 ,4095);   //10s
+    IWDG_Feed();
 	GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
 }
 u8 anchor_type;
@@ -95,12 +94,7 @@
 	{
 	  g_com_map[COM_INTERVAL]=100;
 	}
-    if(dist_threshold<300)
-		{dist_threshold = 300;}
-		if(dist_threshold>15000)
-		{dist_threshold = 15000;}
 }
-extern u8 needanchorrx;  
 u16 JDQ_time;
 int16_t g_commap_antdelay;
 void Program_Init(void)
@@ -148,9 +142,13 @@
         
 	OUT485_ENABLE;
 	ComMapCheck();	
-	g_com_map[VERSION] = 0x013a;
+	g_com_map[VERSION] = 1<<8|69;
     FLASH_Read(FLASH_HARDWARE_FLAG, (uint8_t*)&g_com_map[HARDWAREFLAG_INDEX], 16);
     dist_threshold = (g_com_map[SPEEDFILTER_THRES]*10)/(1000/g_com_map[COM_INTERVAL]);
+     if(dist_threshold<300)
+		{dist_threshold = 300;}
+		if(dist_threshold>15000)
+		{dist_threshold = 15000;}
     g_commap_antdelay = g_com_map[ANT_LENGTH];
     JDQ_time = g_com_map[WAR_JDQ_TIME]*10;
 	g_com_map[SW_TYPE] = 	SW_FANGZHUANG;
@@ -171,12 +169,11 @@
 	
 	if(g_com_map[DEV_ROLE])
 	{
-		needanchorrx = 0;
 	printf("标签ID: %d .\r\n",dev_id);
 	printf("通讯间隔: %d ms.\r\n",g_com_map[COM_INTERVAL]);
 	printf("单次通讯基站数量: %d个.\r\n",g_com_map[MAX_REPORT_ANC_NUM]);
 	}else{
-	needanchorrx = 1;
+	
 	anchor_type = dev_id%g_com_map[MAX_REPORT_ANC_NUM];
 	printf("基站ID: %x .\r\n",dev_id);
 	printf("基站类型: %c .\r\n",anchor_type+0x41);
@@ -227,7 +224,7 @@
 void IdleTask(void)
 {
 		
-			UART_CheckReceive();
+        UART_CheckReceive();
 		UART_CheckSend();
 	
 	if(heartbeat_timer>1000)
@@ -248,7 +245,7 @@
 //						NVIC_SystemReset();
 //					}
 //				}
-	  flag_newsecond=0;
+	    flag_newsecond=0;
 		tagpos_binary=0;
 		memcpy(ancidlist_send,ancidlist_rec,ancidlist_num*2);
 		ancidlist_num=0;
@@ -307,9 +304,37 @@
 		{
 				SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader   
 		}
+        g_com_map[RELAY1_STATE_INDEX] = READ_RELAY1;
+		g_com_map[RELAY2_STATE_INDEX] = READ_RELAY2;
 
 	}
-
+uint8_t at_cmd[3]={0x2B,0x2B,0x2B};
+uint8_t at_cmd1[2]={0x41,0x54};
+char at_cmd2[20]={"AT+CAN=500,70,NDTF\r\n"};  //AT+CAN?\r\n
+char at_cmd3[9]={"AT+CAN?\r\n"}; 
+char at_cmd4[9]={"AT+EXAT\r\n"}; 
+void send_to_ECAN()
+{
+//  UART_PushFrame(at_cmd,3);
+//    
+//  UART_PushFrame(at_cmd1,2);
+////  delay_ms(1); 
+//  UART_PushFrame((uint8_t*)at_cmd2,20);
+////  delay_ms(1);   
+//  UART_PushFrame((uint8_t*)at_cmd3,9);
+////  delay_ms(1);   
+//  UART_PushFrame((uint8_t*)at_cmd4,9);
+ printf("+++");
+ delay_ms(20);  
+ printf("AT"); 
+ delay_ms(20);    
+ printf("AT+CAN=500,0,NDTF\r\n"); 
+ delay_ms(1);
+ printf("AT+CAN?\r\n");
+ delay_ms(1);
+ printf("AT+EXAT\r\n");    
+}
+    
 int main(void)
 {
  
@@ -325,21 +350,20 @@
 	usart_send[1]=0xAA;
 	usart_send_anc[0]=0x55;
 	usart_send_anc[1]=0xAA;
-
+    send_to_ECAN();
 	while(1)
 	{
+      
 	g_start_sync_flag=0;
 	if(g_start_send_flag)
 	{
 		g_start_send_flag = 0;		
 		Tag_App();
-		needanchorrx = 1;
 	}
 		IdleTask();		
-if(g_com_map[DEV_ROLE]==0&&needanchorrx==1)
-    {needanchorrx = 0;
-        Anchor_Start();
-    }
+if(g_com_map[DEV_ROLE]==0)
+		Anchor_App();
+
 	}
 }
 

--
Gitblit v1.9.3