Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.76 KB | None | 0 0
  1. #include <avr/io.h>
  2. #include <stdbool.h>
  3.  
  4. #define MIN_INTERVAL 150
  5. #define MAX_INTERVAL 30000
  6.  
  7. void wait_interval(uint32_t interval)
  8. {
  9.     while(interval >= 0) interval--;
  10. }
  11.  
  12. int main()
  13. {
  14.     //Data Direktion Register auf 255 (alle Bits auf 1)
  15.     DDRB = 0xFF;
  16.     //langsam anfangen
  17.     uint32_t Intervall = MAX_INTERVAL;
  18.     //hoch oder runterzählen
  19.     bool check_interval = true;
  20.     while(1)
  21.     {
  22.         PORTB++;
  23.         if(check_interval)
  24.         {
  25.             //100 schneller
  26.             wait_interval(interval -= 100);
  27.             //wenn das Schnellste erreicht ist
  28.             if(interval <= MIN_INTERVAL)
  29.                 check_interval = false;
  30.         }
  31.         else
  32.         {
  33.             //100 langsamer
  34.             wait_interval(interval += 100);
  35.             //wenn das Schnellste erreicht ist
  36.             if(interval >= MAX_INTERVAL)
  37.                 check_interval = true;
  38.         }
  39.     }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement