-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathled.c
89 lines (79 loc) · 2.55 KB
/
led.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include "led.h"
#include "timer0.h"
/* Çàäåðæêà âî âðåìÿ ïåðåêëþ÷åíèÿ - ïîäîáðàòü! */
#define LED_TOGGLE_DELAY_MS 5
/*******************************************************************
* Function: LED_init - ðàáîòàåò ÒÎËÜÊÎ âíóòðè öèêëà CORE
*******************************************************************/
section("L1_code")
void LED_init(void)
{
pin_clr(LED1_PORT, LED1_PIN); /* 1 íà âûõîä G */
pin_clr(LED2_PORT, LED2_PIN); /* 1 íà âûõîä Y */
pin_clr(LED3_PORT, LED3_PIN); /* 1 íà âûõîä R */
pin_clr(LED4_PORT, LED4_PIN); /* 1 íà âûõîä B */
}
/*************************************************************************************
* Âêëþ÷àåì ïî îäíîìó
**************************************************************************************/
section("L1_code")
void LED_on(u8 led)
{
#if defined GNS110_R2A_BOARD || defined GNS110_R2B_BOARD || defined GNS110_R2C_BOARD
pin_set(LEDS_PORT, led);
#else
if(led == LED1)
pin_set(LED1_PORT, LED1_PIN);
else if(led == LED2)
pin_set(LED2_PORT, LED2_PIN);
else if(led == LED3)
pin_set(LED3_PORT, LED3_PIN);
else
pin_set(LED4_PORT, LED4_PIN);
#endif
}
/*************************************************************************************
* Âûêëþ÷èòü ïî-îäíîìó
**************************************************************************************/
section("L1_code")
void LED_off(u8 led)
{
#if defined GNS110_R2A_BOARD || defined GNS110_R2B_BOARD || defined GNS110_R2C_BOARD
pin_clr(LEDS_PORT, led); /* "0" íà âûõîä ïîðòà */
#else
if(led == LED1)
pin_clr(LED1_PORT, LED1_PIN);
else if(led == LED2)
pin_clr(LED2_PORT, LED2_PIN);
else if(led == LED3)
pin_clr(LED3_PORT, LED3_PIN);
else
pin_clr(LED4_PORT, LED4_PIN);
#endif
}
/*************************************************************************************
* Ïåðåêëþ÷èòü ïî-îäíîìó
**************************************************************************************/
section("L1_code")
void LED_toggle(u8 led)
{
#if defined GNS110_R2A_BOARD || defined GNS110_R2B_BOARD|| defined GNS110_R2C_BOARD
pin_set(LEDS_PORT, led);
delay_ms(LED_TOGGLE_DELAY_MS);
pin_clr(LEDS_PORT, led);
#else
if(led == LED1) {
pin_set(LED1_PORT, LED1_PIN);
pin_clr(LED1_PORT, LED1_PIN);
} else if (led == LED2) {
pin_set(LED2_PORT, LED2_PIN);
pin_clr(LED2_PORT, LED2_PIN);
} else if(led == LED3){
pin_set(LED3_PORT, LED3_PIN);
pin_clr(LED3_PORT, LED3_PIN);
} else {
pin_set(LED4_PORT, LED4_PIN);
pin_clr(LED4_PORT, LED4_PIN);
}
#endif
}