add led state off
This commit is contained in:
parent
be38a8b7d0
commit
459ad36b0d
177
led.c
177
led.c
@ -58,79 +58,109 @@ static inline void selectRow(uint8_t row) {
|
||||
col3, red: P1.6
|
||||
*/
|
||||
|
||||
typedef enum { BLUE = 0, RED = 1 } tColor;
|
||||
|
||||
void selectCol(uint8_t column, tColor color) {
|
||||
if (color == BLUE) {
|
||||
switch (column) {
|
||||
case 0:
|
||||
P1DIR &= ~(BIT6);
|
||||
P1OUT &= ~(BIT6);
|
||||
P2DIR &= ~(BIT0 | BIT2 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
P2OUT &= ~(BIT0 | BIT2 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
P1DIR |= BIT5;
|
||||
P1OUT &= ~BIT5;
|
||||
break;
|
||||
case 1:
|
||||
P1DIR &= ~(BIT5 | BIT6);
|
||||
P1OUT &= ~(BIT5 | BIT6);
|
||||
P2DIR &= ~(BIT0 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
P2OUT &= ~(BIT0 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
P2DIR |= BIT2;
|
||||
P2OUT &= ~BIT2;
|
||||
break;
|
||||
case 2:
|
||||
P1DIR &= ~(BIT5 | BIT6);
|
||||
P1OUT &= ~(BIT5 | BIT6);
|
||||
P2DIR &= ~(BIT0 | BIT2 | BIT1 | BIT3 | BIT5);
|
||||
P2OUT &= ~(BIT0 | BIT2 | BIT1 | BIT3 | BIT5);
|
||||
P2DIR |= BIT4;
|
||||
P2OUT &= ~BIT4;
|
||||
break;
|
||||
case 3:
|
||||
P1DIR &= ~(BIT5 | BIT6);
|
||||
P1OUT &= ~(BIT5 | BIT6);
|
||||
P2DIR &= ~(BIT0 | BIT2 | BIT1 | BIT3 | BIT4);
|
||||
P2OUT &= ~(BIT0 | BIT2 | BIT1 | BIT3 | BIT4);
|
||||
P2DIR |= BIT5;
|
||||
P2OUT &= ~BIT5;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch (column) {
|
||||
case 0:
|
||||
P1DIR &= ~(BIT5 | BIT6);
|
||||
P1OUT &= ~(BIT5 | BIT6);
|
||||
P2DIR &= ~(BIT2 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
P2OUT &= ~(BIT2 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
P2DIR |= BIT0;
|
||||
P2OUT &= ~BIT0;
|
||||
break;
|
||||
case 1:
|
||||
P1DIR &= ~(BIT5 | BIT6);
|
||||
P1OUT &= ~(BIT5 | BIT6);
|
||||
P2DIR &= ~(BIT0 | BIT2 | BIT4 | BIT3 | BIT5);
|
||||
P2OUT &= ~(BIT0 | BIT2 | BIT4 | BIT3 | BIT5);
|
||||
P2DIR |= BIT1;
|
||||
P2OUT &= ~BIT1;
|
||||
break;
|
||||
case 2:
|
||||
P1DIR &= ~(BIT5 | BIT6);
|
||||
P1OUT &= ~(BIT5 | BIT6);
|
||||
P2DIR &= ~(BIT0 | BIT2 | BIT1 | BIT4 | BIT5);
|
||||
P2OUT &= ~(BIT0 | BIT2 | BIT1 | BIT4 | BIT5);
|
||||
P2DIR |= BIT3;
|
||||
P2OUT &= ~BIT3;
|
||||
break;
|
||||
case 3:
|
||||
P1DIR &= ~(BIT5);
|
||||
P1OUT &= ~(BIT5);
|
||||
P2DIR &= ~(BIT0 | BIT2 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
P2OUT &= ~(BIT0 | BIT2 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
P1DIR |= BIT6;
|
||||
P1OUT &= ~BIT6;
|
||||
break;
|
||||
}
|
||||
switch (color) {
|
||||
case BLUE:
|
||||
switch (column) {
|
||||
case 0:
|
||||
P1DIR &= ~(BIT6);
|
||||
P1OUT &= ~(BIT6);
|
||||
P2DIR &= ~(BIT0 | BIT2 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
P2OUT &= ~(BIT0 | BIT2 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
P1DIR |= BIT5;
|
||||
P1OUT &= ~BIT5;
|
||||
break;
|
||||
case 1:
|
||||
P1DIR &= ~(BIT5 | BIT6);
|
||||
P1OUT &= ~(BIT5 | BIT6);
|
||||
P2DIR &= ~(BIT0 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
P2OUT &= ~(BIT0 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
P2DIR |= BIT2;
|
||||
P2OUT &= ~BIT2;
|
||||
break;
|
||||
case 2:
|
||||
P1DIR &= ~(BIT5 | BIT6);
|
||||
P1OUT &= ~(BIT5 | BIT6);
|
||||
P2DIR &= ~(BIT0 | BIT2 | BIT1 | BIT3 | BIT5);
|
||||
P2OUT &= ~(BIT0 | BIT2 | BIT1 | BIT3 | BIT5);
|
||||
P2DIR |= BIT4;
|
||||
P2OUT &= ~BIT4;
|
||||
break;
|
||||
case 3:
|
||||
P1DIR &= ~(BIT5 | BIT6);
|
||||
P1OUT &= ~(BIT5 | BIT6);
|
||||
P2DIR &= ~(BIT0 | BIT2 | BIT1 | BIT3 | BIT4);
|
||||
P2OUT &= ~(BIT0 | BIT2 | BIT1 | BIT3 | BIT4);
|
||||
P2DIR |= BIT5;
|
||||
P2OUT &= ~BIT5;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case RED:
|
||||
switch (column) {
|
||||
case 0:
|
||||
P1DIR &= ~(BIT5 | BIT6);
|
||||
P1OUT &= ~(BIT5 | BIT6);
|
||||
P2DIR &= ~(BIT2 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
P2OUT &= ~(BIT2 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
P2DIR |= BIT0;
|
||||
P2OUT &= ~BIT0;
|
||||
break;
|
||||
case 1:
|
||||
P1DIR &= ~(BIT5 | BIT6);
|
||||
P1OUT &= ~(BIT5 | BIT6);
|
||||
P2DIR &= ~(BIT0 | BIT2 | BIT4 | BIT3 | BIT5);
|
||||
P2OUT &= ~(BIT0 | BIT2 | BIT4 | BIT3 | BIT5);
|
||||
P2DIR |= BIT1;
|
||||
P2OUT &= ~BIT1;
|
||||
break;
|
||||
case 2:
|
||||
P1DIR &= ~(BIT5 | BIT6);
|
||||
P1OUT &= ~(BIT5 | BIT6);
|
||||
P2DIR &= ~(BIT0 | BIT2 | BIT1 | BIT4 | BIT5);
|
||||
P2OUT &= ~(BIT0 | BIT2 | BIT1 | BIT4 | BIT5);
|
||||
P2DIR |= BIT3;
|
||||
P2OUT &= ~BIT3;
|
||||
break;
|
||||
case 3:
|
||||
P1DIR &= ~(BIT5);
|
||||
P1OUT &= ~(BIT5);
|
||||
P2DIR &= ~(BIT0 | BIT2 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
P2OUT &= ~(BIT0 | BIT2 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
P1DIR |= BIT6;
|
||||
P1OUT &= ~BIT6;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case OFF:
|
||||
switch (column) {
|
||||
case 0:
|
||||
P1DIR &= ~(BIT5 | BIT6);
|
||||
P1OUT &= ~(BIT5 | BIT6);
|
||||
P2DIR &= ~(BIT0 | BIT2 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
P2OUT &= ~(BIT0 | BIT2 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
break;
|
||||
case 1:
|
||||
P1DIR &= ~(BIT5 | BIT6);
|
||||
P1OUT &= ~(BIT5 | BIT6);
|
||||
P2DIR &= ~(BIT0 | BIT2 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
P2OUT &= ~(BIT0 | BIT2 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
break;
|
||||
case 2:
|
||||
P1DIR &= ~(BIT5 | BIT6);
|
||||
P1OUT &= ~(BIT5 | BIT6);
|
||||
P2DIR &= ~(BIT0 | BIT2 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
P2OUT &= ~(BIT0 | BIT2 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
break;
|
||||
case 3:
|
||||
P1DIR &= ~(BIT5 | BIT6);
|
||||
P1OUT &= ~(BIT5 | BIT6);
|
||||
P2DIR &= ~(BIT0 | BIT2 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
P2OUT &= ~(BIT0 | BIT2 | BIT1 | BIT4 | BIT3 | BIT5);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -160,8 +190,5 @@ void ledExec() {
|
||||
}
|
||||
|
||||
void ledInit() {
|
||||
//selectRow(0);
|
||||
//selectCol(0, BLUE);
|
||||
|
||||
schAdd(ledExec, NULL, 0, 10);
|
||||
schAdd(ledExec, NULL, 0, 50);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user