소스 검색

Финальний тюнинг. Finish.

Vladimir N. Shilov 8 년 전
부모
커밋
b5cdf1fac4
2개의 변경된 파일10개의 추가작업 그리고 19개의 파일을 삭제
  1. 6 0
      ReadMe.txt
  2. 4 19
      src/main.c

+ 6 - 0
ReadMe.txt

@@ -123,3 +123,9 @@ RTOS выкинул. на очереди SPL? :-)
 автокоррекция смещения "0" на входе АЦП -- будет получено и сохранено в EEPROM
 автокоррекция смещения "0" на входе АЦП -- будет получено и сохранено в EEPROM
 значение АЦП при нулевом токе на входе, которое затем будет использовано при
 значение АЦП при нулевом токе на входе, которое затем будет использовано при
 расчётах.
 расчётах.
+
+---
+2016.11.23
+
+Всё, финал. Идеи кончились.
+Версия с "float" вполне имеет право на жизнь.

+ 4 - 19
src/main.c

@@ -265,33 +265,20 @@ static void PrepareForLed(void) {
 
 
   if(value > 9999){
   if(value > 9999){
     /* XX.X Amper */
     /* XX.X Amper */
+    value += 50;
     LedPoint = 1;
     LedPoint = 1;
     LedDigits[0] = value / 10000;
     LedDigits[0] = value / 10000;
     value = value % 10000;
     value = value % 10000;
     LedDigits[1] = value / 1000;
     LedDigits[1] = value / 1000;
     LedDigits[2] = (value % 1000) / 100;
     LedDigits[2] = (value % 1000) / 100;
-  } else if(value > 999){
+  } else {
     /* X.XX Amper */
     /* X.XX Amper */
+    value += 5;
     LedPoint = 0;
     LedPoint = 0;
     LedDigits[0] = value / 1000;
     LedDigits[0] = value / 1000;
     value = value % 1000;
     value = value % 1000;
     LedDigits[1] = value / 100;
     LedDigits[1] = value / 100;
     LedDigits[2] = (value % 100) / 10;
     LedDigits[2] = (value % 100) / 10;
-  } else {
-    /* XXX mili Amper */
-    LedPoint = 3;
-    if(value > 99){
-      LedDigits[0] = value / 100;
-      value = value % 100;
-    } else {
-      LedDigits[0] = 0xFF;
-    }
-    if(value > 9){
-      LedDigits[1] = value / 10;
-    } else if(LedDigits[0] == 0xFF){
-      LedDigits[1] = 0xFF;
-    }
-    LedDigits[2] = value % 10;
   }
   }
 }
 }
 
 
@@ -344,8 +331,6 @@ static void OutputToLed(void) {
     case 9:
     case 9:
       LED_OUT_9
       LED_OUT_9
       break;
       break;
-    case 0xFF:
-      break;
     default:
     default:
       LED_OUT_MM
       LED_OUT_MM
   }
   }
@@ -408,7 +393,7 @@ static void ADC_Config()
   ADC1_DeInit();
   ADC1_DeInit();
 
 
   /* Init ADC1 peripheral */
   /* Init ADC1 peripheral */
-  ADC1_Init(ADC1_CONVERSIONMODE_SINGLE, ADC_CHNL, ADC1_PRESSEL_FCPU_D8, \
+  ADC1_Init(ADC1_CONVERSIONMODE_SINGLE, ADC_CHNL, ADC1_PRESSEL_FCPU_D12, \
             ADC1_EXTTRIG_TIM, ENABLE, ADC1_ALIGN_RIGHT, ADC_SCHT, DISABLE);
             ADC1_EXTTRIG_TIM, ENABLE, ADC1_ALIGN_RIGHT, ADC_SCHT, DISABLE);
 
 
   /* Enable EOC interrupt */
   /* Enable EOC interrupt */