Vladimir N. Shilov 4 mesiacov pred
rodič
commit
5810728d17
2 zmenil súbory, kde vykonal 25 pridanie a 30 odobranie
  1. 7 5
      inc/board.h
  2. 18 25
      src/main.c

+ 7 - 5
inc/board.h

@@ -10,15 +10,18 @@
 /* Type Defs */
 /* Exported macros */
 /* Constants */
+/* edge of board */
 #define USE_SERVO_1         true
+/* inner of board*/
 //#define USE_SERVO_2         true
 
 /* PWM Timers for 50 Hz */
 #define TIM1_PSC            (24 - 1)
 #define TIM1_ARR            (20000 - 1)
 #define SERVO_INIT_VAL      0
-#define SERVO_OPEN_VAL      1000
-#define SERVO_CLOSE_VAL     2000
+#define SERVO_OPEN1_VAL     1000
+#define SERVO_OPEN2_VAL     2300
+#define SERVO_CLOSE_VAL     1600
 
 #define TIM3_PSC            (24000 - 1)
 #define TIM3_ARR            (100 - 1)
@@ -31,13 +34,12 @@
 #ifdef USE_SERVO_1
   #define Servo_1_Pin   GPIO_PIN_3
   #define Servo_1_Port  GPIOB
-  #define Servo_1_CHNL  TIM1->CCR2
+  #define Servo_CHNL  TIM1->CCR2
 #endif
 #ifdef USE_SERVO_2
   #define Servo_2_Pin   GPIO_PIN_8
   #define Servo_2_Port  GPIOA
-  #define Servo_2_CHNL  TIM1->CCR1
-  #define Servo_2_ON    {}
+  #define Servo_CHNL  TIM1->CCR1
 #endif
 
 /* Variables */

+ 18 - 25
src/main.c

@@ -23,7 +23,7 @@
 /* Private typedef -----------------------------------------------------------*/
 /* Private define ------------------------------------------------------------*/
 #define PHOTO_LEVEL_ON  (100)
-#define PHOTO_LEVEL_OFF (1000)
+#define PHOTO_LEVEL_OFF (800)
 #define TIME_WAIT       1000
 
 /* Private macro -------------------------------------------------------------*/
@@ -48,18 +48,15 @@ int main(void)
 {
   /* Initialize onBoard Hardware */
   Board_Init();
-
-#ifdef USE_SERVO_1
-  Servo_1_CHNL = SERVO_CLOSE_VAL;
-  delay_ms(100);
-  Servo_1_CHNL = SERVO_INIT_VAL;
-#endif
-
-#ifdef USE_SERVO_2
-  Servo_2_CHNL = SERVO_CLOSE_VAL;
+/*
+  Servo_CHNL = SERVO_OPEN1_VAL;
+  delay_ms(1000);
+  Servo_CHNL = SERVO_OPEN2_VAL;
+  delay_ms(1000);
+*/
+  Servo_CHNL = SERVO_CLOSE_VAL;
   delay_ms(100);
-  Servo_2_CHNL = SERVO_INIT_VAL;
-#endif
+  Servo_CHNL = SERVO_INIT_VAL;
 
   /* if light is on, wait for off */
   while (photo_Value <= PHOTO_LEVEL_OFF) {
@@ -70,49 +67,45 @@ int main(void)
   /* Infinite loop */
   while (1)
   {
-#ifdef USE_SERVO_1
     /* wait for light on */
     while (photo_Value > PHOTO_LEVEL_ON) {
       //IWDG->KR = 0xAAAA;
       __WFI();
     }
     /* open servo 1 */
-    Servo_1_CHNL = SERVO_OPEN_VAL;
+    Servo_CHNL = SERVO_OPEN1_VAL;
 
     /* wait for light off */
     timeOut = TIME_WAIT;
     while (photo_Value <= PHOTO_LEVEL_OFF) {
       if (timeOut == 0) {
-        Servo_1_CHNL = SERVO_INIT_VAL;
+        Servo_CHNL = SERVO_INIT_VAL;
       }
       __WFI();
     }
     /* close servo 1 */
-    Servo_1_CHNL = SERVO_CLOSE_VAL;
+    Servo_CHNL = SERVO_CLOSE_VAL;
     delay_ms(100);
-    Servo_1_CHNL = SERVO_INIT_VAL;
-#endif
-    
-#ifdef USE_SERVO_2
+    Servo_CHNL = SERVO_INIT_VAL;
+
     /* wait for light on */
     while (photo_Value > PHOTO_LEVEL_ON) {
       //IWDG->KR = 0xAAAA;
       __WFI();
     }
-    Servo_2_CHNL = SERVO_OPEN_VAL;
+    Servo_CHNL = SERVO_OPEN2_VAL;
     /* wait for light off */
     timeOut = TIME_WAIT;
     while (photo_Value <= PHOTO_LEVEL_OFF) {
       if (timeOut == 0) {
-        Servo_2_CHNL = SERVO_INIT_VAL;
+        Servo_CHNL = SERVO_INIT_VAL;
       }
       __WFI();
     }
     /* close servo 1 */
-    Servo_2_CHNL = SERVO_CLOSE_VAL;
+    Servo_CHNL = SERVO_CLOSE_VAL;
     delay_ms(100);
-    Servo_2_CHNL = SERVO_INIT_VAL;
-#endif
+    Servo_CHNL = SERVO_INIT_VAL;
   }
 } /* End of mine() */