-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBoard_LEDs.c
More file actions
58 lines (53 loc) · 1.48 KB
/
Board_LEDs.c
File metadata and controls
58 lines (53 loc) · 1.48 KB
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
#include "MKL25Z4.h"
#include "Defines.h"
#include "Board_LEDs.h"
void board_LED_init() {
// Make led pins GPIO
PORTB->PCR[red_led] &= ~PORT_PCR_MUX_MASK;
PORTB->PCR[red_led] |= PORT_PCR_MUX(1);
PORTB->PCR[green_led] &= ~PORT_PCR_MUX_MASK;
PORTB->PCR[green_led] |= PORT_PCR_MUX(1);
PORTD->PCR[blue_led] &= ~PORT_PCR_MUX_MASK;
PORTD->PCR[blue_led] |= PORT_PCR_MUX(1);
// Set ports to output
PTB->PDDR |= MASK(red_led) | MASK(green_led);
PTD->PDDR |= MASK(blue_led);
// turn on to start
PTB->PCOR |= MASK(red_led);
PTB->PCOR |= MASK(green_led);
PTD->PCOR |= MASK(blue_led);
}
void change_color(int switch_num) {
switch(switch_num) {
case switch_1: // set led to red
PTB->PCOR |= MASK(red_led);
PTB->PSOR |= MASK(green_led);
PTD->PSOR |= MASK(blue_led);
break;
case switch_2: // set led to green
PTB->PSOR |= MASK(red_led);
PTB->PCOR |= MASK(green_led);
PTD->PSOR |= MASK(blue_led);
break;
case switch_3: // set led to blue
PTB->PSOR |= MASK(red_led);
PTB->PSOR |= MASK(green_led);
PTD->PCOR |= MASK(blue_led);
break;
case switch_4: // set led to yellow
PTB->PCOR |= MASK(red_led);
PTB->PCOR |= MASK(green_led);
PTD->PSOR |= MASK(blue_led);
break;
case switch_5: // set led to magenta
PTB->PCOR |= MASK(red_led);
PTB->PSOR |= MASK(green_led);
PTD->PCOR |= MASK(blue_led);
break;
case switch_6: // set led to cyan
PTB->PSOR |= MASK(red_led);
PTB->PCOR |= MASK(green_led);
PTD->PCOR |= MASK(blue_led);
break;
}
}