浏览代码

SelfTest 저장하도록 수정 / Status 변경시 EEPROM 저장하도록 수정

PYJ 5 年之前
父节点
当前提交
d5174ffbb0
共有 4 个文件被更改,包括 95 次插入56 次删除
  1. 1 1
      Bluecell_Inc/Bluecell_operate.h
  2. 51 12
      Bluecell_Src/Bluecell_operate.c
  3. 42 42
      STM32F103ZET_JDASMBIC.elf.launch
  4. 1 1
      Src/main.c

+ 1 - 1
Bluecell_Inc/Bluecell_operate.h

@@ -462,10 +462,10 @@ typedef struct{
462 462
     uint8_t bluecell_type;
463 463
     uint8_t bluecell_length;
464 464
     uint8_t bluecell_crcindex;
465
-    uint8_t Selftest0;
466 465
     uint8_t Selftest1;
467 466
     uint8_t Selftest2;
468 467
     uint8_t Selftest3;
468
+    uint8_t Selftest4;
469 469
     uint8_t ATT_DL1_PATH;
470 470
     uint8_t ATT_DL2_PATH;
471 471
     uint8_t ATT_DL3_PATH;

+ 51 - 12
Bluecell_Src/Bluecell_operate.c

@@ -1071,6 +1071,7 @@ bool Bluecell_Operate(uint8_t* data){
1071 1071
             HAL_GPIO_WritePin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin,GPIO_PIN_SET);//CLOCK
1072 1072
             HAL_GPIO_WritePin(PATH_SW1_GPIO_Port,PATH_SW1_Pin,GPIO_PIN_RESET);//CLOCK
1073 1073
         }
1074
+        bluecell_Prevdatastatus.Selftest1 = data[BLUECELL_DATA];
1074 1075
 //		printf("Function : %s Line %d \r\n",__func__,__LINE__);
1075 1076
 		break;
1076 1077
 	case ATT_DL2_PATH		 :
@@ -1103,6 +1104,7 @@ bool Bluecell_Operate(uint8_t* data){
1103 1104
             HAL_GPIO_WritePin(PATH_SW2_GPIO_Port,PATH_SW2_Pin,GPIO_PIN_RESET);//CLOCK
1104 1105
             HAL_GPIO_WritePin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin,GPIO_PIN_SET);//CLOCK
1105 1106
         }
1107
+        bluecell_Prevdatastatus.Selftest2 = data[BLUECELL_DATA];
1106 1108
 //		printf("Function : %s Line %d \r\n",__func__,__LINE__);
1107 1109
 		break;
1108 1110
 	case ATT_DL3_PATH :
@@ -1138,6 +1140,7 @@ bool Bluecell_Operate(uint8_t* data){
1138 1140
             HAL_GPIO_WritePin(PATH_SW3_GPIO_Port,PATH_SW3_Pin,GPIO_PIN_RESET);//CLOCK
1139 1141
             HAL_GPIO_WritePin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin,GPIO_PIN_SET);//CLOCK
1140 1142
         }
1143
+        bluecell_Prevdatastatus.Selftest3 = data[BLUECELL_DATA];
1141 1144
 //		printf("Function : %s Line %d \r\n",__func__,__LINE__);
1142 1145
 		break;
1143 1146
 	case ATT_DL4_PATH :
@@ -1172,6 +1175,7 @@ bool Bluecell_Operate(uint8_t* data){
1172 1175
 	    HAL_GPIO_WritePin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin,GPIO_PIN_SET);//CLOCK
1173 1176
 	    HAL_GPIO_WritePin(PATH_SW4_GPIO_Port,PATH_SW4_Pin,GPIO_PIN_RESET);//CLOCK
1174 1177
 	  }
1178
+      bluecell_Prevdatastatus.Selftest4 = data[BLUECELL_DATA];
1175 1179
 //		printf("Function : %s Line %d \r\n",__func__,__LINE__);
1176 1180
 		break;
1177 1181
     case ALC1_EN :
@@ -1323,6 +1327,10 @@ bool Bluecell_Operate(uint8_t* data){
1323 1327
         CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
1324 1328
         break;
1325 1329
   }
1330
+  if(datatype != Bluecell_StatusReq){
1331
+      Bluecell_StructCpy(&DataWrite[0],&bluecell_Currdatastatus.bluecell_header,sizeof(BLUESTATUS_st));
1332
+      EEPROM_M24C08_write(EEPROM_M24C08_ID ,(EEPROM_ATT_BASE),&DataWrite[0],sizeof(BLUESTATUS_st));
1333
+  }
1326 1334
   return true;
1327 1335
 }
1328 1336
 void DataStatusSet(void){
@@ -1330,10 +1338,10 @@ void DataStatusSet(void){
1330 1338
         bluecell_Currdatastatus.bluecell_type = Bluecell_StatusReq;
1331 1339
         bluecell_Currdatastatus.bluecell_length = sizeof(bluecell_Currdatastatus) - 3;    
1332 1340
         bluecell_Currdatastatus.bluecell_crcindex = sizeof(bluecell_Currdatastatus) - 2 + 1;    
1333
-        bluecell_Currdatastatus.Selftest0 = HAL_GPIO_ReadPin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin);
1334
-        bluecell_Currdatastatus.Selftest1 = HAL_GPIO_ReadPin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin);
1335
-        bluecell_Currdatastatus.Selftest2 = HAL_GPIO_ReadPin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin);
1336
-        bluecell_Currdatastatus.Selftest3 = HAL_GPIO_ReadPin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin);
1341
+        bluecell_Currdatastatus.Selftest1 = HAL_GPIO_ReadPin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin);
1342
+        bluecell_Currdatastatus.Selftest2 = HAL_GPIO_ReadPin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin);
1343
+        bluecell_Currdatastatus.Selftest3 = HAL_GPIO_ReadPin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin);
1344
+        bluecell_Currdatastatus.Selftest4 = HAL_GPIO_ReadPin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin);
1337 1345
         bluecell_Currdatastatus.ATT_DL1_PATH = HAL_GPIO_ReadPin(PATH_EN_DL1_GPIO_Port,PATH_EN_DL1_Pin);//CLOCK;
1338 1346
         bluecell_Currdatastatus.ATT_DL2_PATH = HAL_GPIO_ReadPin(PATH_EN_DL2_GPIO_Port,PATH_EN_DL2_Pin);//CLOCK;
1339 1347
         bluecell_Currdatastatus.ATT_DL3_PATH = HAL_GPIO_ReadPin(PATH_EN_DL3_GPIO_Port,PATH_EN_DL3_Pin);//CLOCK;
@@ -1343,6 +1351,9 @@ void DataStatusSet(void){
1343 1351
         bluecell_Currdatastatus.ATT_UL3_PATH = HAL_GPIO_ReadPin(PATH_EN_UL3_GPIO_Port,PATH_EN_UL3_Pin);//CLOCK;
1344 1352
         bluecell_Currdatastatus.ATT_UL4_PATH = HAL_GPIO_ReadPin(PATH_EN_UL4_GPIO_Port,PATH_EN_UL4_Pin);//CLOCK;
1345 1353
         bluecell_Currdatastatus.bluecell_etx = 0xeb;
1354
+             
1355
+        
1356
+     
1346 1357
         /*bluecell_Currdatastatus.ATT_AGC1_ONOFF;
1347 1358
         bluecell_Currdatastatus.ATT_ALC1_ONOFF;
1348 1359
         bluecell_Currdatastatus.ATT_AGC2_ONOFF;
@@ -1369,17 +1380,17 @@ void DataStatusSet(void){
1369 1380
         bluecell_Currdatastatus.ATT_ALC4_MAX_L;  */
1370 1381
 }
1371 1382
  void Bluecell_DataInit(){
1372
-    HAL_GPIO_WritePin(PATH_SW1_GPIO_Port,_PATH_SW1_Pin,bluecell_Currdatastatus.Selftest0   );     
1373
-    HAL_GPIO_WritePin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin,bluecell_Currdatastatus.Selftest0   );     
1383
+    HAL_GPIO_WritePin(PATH_SW1_GPIO_Port,_PATH_SW1_Pin,bluecell_Currdatastatus.Selftest1   );     
1384
+    HAL_GPIO_WritePin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin,bluecell_Currdatastatus.Selftest1   );     
1374 1385
     
1375
-    HAL_GPIO_WritePin(PATH_SW2_GPIO_Port,_PATH_SW2_Pin,bluecell_Currdatastatus.Selftest1   );     
1376
-    HAL_GPIO_WritePin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin,bluecell_Currdatastatus.Selftest1   );     
1386
+    HAL_GPIO_WritePin(PATH_SW2_GPIO_Port,_PATH_SW2_Pin,bluecell_Currdatastatus.Selftest2   );     
1387
+    HAL_GPIO_WritePin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin,bluecell_Currdatastatus.Selftest2   );     
1377 1388
     
1378
-    HAL_GPIO_WritePin(PATH_SW3_GPIO_Port,_PATH_SW3_Pin,bluecell_Currdatastatus.Selftest2   );     
1379
-    HAL_GPIO_WritePin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin,bluecell_Currdatastatus.Selftest2   );     
1389
+    HAL_GPIO_WritePin(PATH_SW3_GPIO_Port,_PATH_SW3_Pin,bluecell_Currdatastatus.Selftest3   );     
1390
+    HAL_GPIO_WritePin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin,bluecell_Currdatastatus.Selftest3   );     
1380 1391
     
1381
-    HAL_GPIO_WritePin(PATH_SW4_GPIO_Port,_PATH_SW4_Pin,bluecell_Currdatastatus.Selftest3   );     
1382
-    HAL_GPIO_WritePin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin,bluecell_Currdatastatus.Selftest3   );     
1392
+    HAL_GPIO_WritePin(PATH_SW4_GPIO_Port,_PATH_SW4_Pin,bluecell_Currdatastatus.Selftest4   );     
1393
+    HAL_GPIO_WritePin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin,bluecell_Currdatastatus.Selftest4   );     
1383 1394
 
1384 1395
 
1385 1396
     
@@ -1396,6 +1407,34 @@ void DataStatusSet(void){
1396 1407
 
1397 1408
 
1398 1409
     CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
1410
+    if(bluecell_Currdatastatus.Selftest1==0){
1411
+        HAL_GPIO_WritePin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin,GPIO_PIN_RESET);//CLOCK
1412
+        HAL_GPIO_WritePin(PATH_SW1_GPIO_Port,PATH_SW1_Pin,GPIO_PIN_SET);//CLOCK
1413
+    }else{
1414
+        HAL_GPIO_WritePin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin,GPIO_PIN_SET);//CLOCK
1415
+        HAL_GPIO_WritePin(PATH_SW1_GPIO_Port,PATH_SW1_Pin,GPIO_PIN_RESET);//CLOCK
1416
+    }
1417
+    if(bluecell_Currdatastatus.Selftest2=0){
1418
+        HAL_GPIO_WritePin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin,GPIO_PIN_RESET);//CLOCK
1419
+        HAL_GPIO_WritePin(PATH_SW2_GPIO_Port,PATH_SW2_Pin,GPIO_PIN_SET);//CLOCK
1420
+    }else{
1421
+        HAL_GPIO_WritePin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin,GPIO_PIN_SET);//CLOCK
1422
+        HAL_GPIO_WritePin(PATH_SW2_GPIO_Port,PATH_SW2_Pin,GPIO_PIN_RESET);//CLOCK
1423
+    }
1424
+    if(bluecell_Currdatastatus.Selftest3=0){
1425
+        HAL_GPIO_WritePin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin,GPIO_PIN_RESET);//CLOCK
1426
+        HAL_GPIO_WritePin(PATH_SW3_GPIO_Port,PATH_SW3_Pin,GPIO_PIN_SET);//CLOCK
1427
+    }else{
1428
+        HAL_GPIO_WritePin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin,GPIO_PIN_SET);//CLOCK
1429
+        HAL_GPIO_WritePin(PATH_SW3_GPIO_Port,PATH_SW3_Pin,GPIO_PIN_RESET);//CLOCK
1430
+    }
1431
+    if(bluecell_Currdatastatus.Selftest4=0){
1432
+        HAL_GPIO_WritePin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin,GPIO_PIN_RESET);//CLOCK
1433
+        HAL_GPIO_WritePin(PATH_SW4_GPIO_Port,PATH_SW4_Pin,GPIO_PIN_SET);//CLOCK
1434
+    }else{
1435
+        HAL_GPIO_WritePin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin,GPIO_PIN_SET);//CLOCK
1436
+        HAL_GPIO_WritePin(PATH_SW4_GPIO_Port,PATH_SW4_Pin,GPIO_PIN_RESET);//CLOCK
1437
+    }
1399 1438
 
1400 1439
 
1401 1440
     DataStatusSet();

文件差异内容过多而无法显示
+ 42 - 42
STM32F103ZET_JDASMBIC.elf.launch


+ 1 - 1
Src/main.c

@@ -117,7 +117,7 @@ uint16_t adc3cnt = 0 ;
117 117
 void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
118 118
 {
119 119
 //?��?��?�� 코드 ?��?��
120
-//諤嵸烄 ?嚙踝蕭?嚙踝蕭 adc?嚙踝蕭嚙??? 嚙????嚙踝蕭?嚙踝蕭 ?嚙踝蕭 ?嚙踝蕭?嚙踝蕭嚙??? ?嚙踝蕭?嚙踝蕭嚙??? ?嚙踝蕭?嚙踝蕭?? 穈軤𦚯 魽國探嚙??? ?嚙踝蕭?嚙踝蕭
120
+//만약 ?��?�� adc?���??? �????��?�� ?�� ?��?���??? ?��?���??? ?��?��?? 같이 조건�??? ?��?��
121 121
 
122 122
     if(hadc->Instance == hadc1.Instance)
123 123
     {