Advertisement
teplofizik

led.c

Mar 4th, 2013
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.07 KB | None | 0 0
  1. // ***********************************************************
  2. //  led.c
  3. //  Работа со светодиодами
  4. //
  5. // ***********************************************************
  6.  
  7. #include "led.h"
  8. #include "../drivers.h"
  9.  
  10. #define LED_COUNT 4
  11.  
  12. typedef struct
  13. {
  14.     TPort   Port;
  15.     uint8_t Pin;
  16. } TPin;
  17.  
  18. // Светодиоды сидят на порту D, выводах 12-15.
  19. TPin Leds[LED_COUNT] = { {PORTD, 12}, {PORTD, 13}, {PORTD, 14}, {PORTD, 15} };
  20.  
  21. // Инициализация драйвера светодиодов
  22. void led_Init(void)
  23. {
  24.     int i;
  25.    
  26.     for(i = 0; i < LED_COUNT; i++) gpio_DigitalOutput(Leds[i].Port, Leds[i].Pin);
  27. }
  28.    
  29. // Включить светодиод по его номеру
  30. void led_On(uint8_t Index)
  31. {
  32.     if(Index >= LED_COUNT) return;
  33.    
  34.     gpio_HighLevel(Leds[Index].Port, Leds[Index].Pin);
  35. }
  36.    
  37. // Выключить светодиод по его номеру
  38. void led_Off(uint8_t Index)
  39. {
  40.     if(Index >= LED_COUNT) return;
  41.    
  42.     gpio_LowLevel(Leds[Index].Port, Leds[Index].Pin);
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement