LPM3 is not working correctly, device is booting, disabled, now it is working
This commit is contained in:
@ -57,13 +57,20 @@ uint8_t digitValues[] = { EMPTY_ID, EMPTY_ID, EMPTY_ID };
|
|||||||
void displayInit(void *handleArg) {
|
void displayInit(void *handleArg) {
|
||||||
for (tPin d = DIGIT_0; d <= DIGIT_2; d++) {
|
for (tPin d = DIGIT_0; d <= DIGIT_2; d++) {
|
||||||
gpioSetPin(d, LOW);
|
gpioSetPin(d, LOW);
|
||||||
for (tPin s = SEG_A; s <= SEG_G; s++) {
|
for (tPin s = SEG_A; s <= SEG_F; s++) {
|
||||||
gpioSetPin(s, HIGH);
|
gpioSetPin(s, HIGH);
|
||||||
ms_active_delay(INIT_CYCLE_DELAY);
|
ms_active_delay(INIT_CYCLE_DELAY);
|
||||||
gpioSetPin(s, LOW);
|
gpioSetPin(s, LOW);
|
||||||
}
|
}
|
||||||
gpioSetPin(d, HIGH);
|
gpioSetPin(d, HIGH);
|
||||||
}
|
}
|
||||||
|
for (tPin d = DIGIT_2; d >= DIGIT_0; d--) {
|
||||||
|
gpioSetPin(d, LOW);
|
||||||
|
gpioSetPin(SEG_G, HIGH);
|
||||||
|
ms_active_delay(INIT_CYCLE_DELAY);
|
||||||
|
gpioSetPin(SEG_G, LOW);
|
||||||
|
gpioSetPin(d, HIGH);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void showNumber(uint8_t n) {
|
static void showNumber(uint8_t n) {
|
||||||
@ -73,16 +80,6 @@ static void showNumber(uint8_t n) {
|
|||||||
for (const tPin *pattern = NUMBERS[n]; *pattern != PINS_END; pattern++) {
|
for (const tPin *pattern = NUMBERS[n]; *pattern != PINS_END; pattern++) {
|
||||||
gpioSetPin(*pattern, HIGH);
|
gpioSetPin(*pattern, HIGH);
|
||||||
}
|
}
|
||||||
// const tPin *pattern = NUMBERS[ALL_ID];
|
|
||||||
// do {
|
|
||||||
// gpioSetPin(*pattern, LOW);
|
|
||||||
// pattern++;
|
|
||||||
// } while (*pattern != PINS_END);
|
|
||||||
// pattern = NUMBERS[n];
|
|
||||||
// do {
|
|
||||||
// gpioSetPin(*pattern, HIGH);
|
|
||||||
// pattern++;
|
|
||||||
// } while (*pattern != PINS_END);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void displaySetValue(uint8_t v) {
|
void displaySetValue(uint8_t v) {
|
||||||
@ -92,7 +89,7 @@ void displaySetValue(uint8_t v) {
|
|||||||
c = (a - b * 100) / 10;
|
c = (a - b * 100) / 10;
|
||||||
d = a - c * 10 - b * 100;
|
d = a - c * 10 - b * 100;
|
||||||
digitValues[2] = (b == 0) ? EMPTY_ID : (uint8_t)b;
|
digitValues[2] = (b == 0) ? EMPTY_ID : (uint8_t)b;
|
||||||
digitValues[1] = (c == 0) ? EMPTY_ID : (uint8_t)c;
|
digitValues[1] = ((c == 0) && (b == 0)) ? EMPTY_ID : (uint8_t)c;
|
||||||
digitValues[0] = (uint8_t)d;
|
digitValues[0] = (uint8_t)d;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -107,11 +104,6 @@ void displayExec(void *handleArg) {
|
|||||||
for (const tPin *digit = DIGITS; *digit != PINS_END; digit++) {
|
for (const tPin *digit = DIGITS; *digit != PINS_END; digit++) {
|
||||||
gpioSetPin(*digit, HIGH);
|
gpioSetPin(*digit, HIGH);
|
||||||
}
|
}
|
||||||
// const tPin *digit = DIGITS;
|
|
||||||
// do {
|
|
||||||
// gpioSetPin(*digit, HIGH);
|
|
||||||
// digit++;
|
|
||||||
// } while (*digit != PINS_END);
|
|
||||||
|
|
||||||
gpioSetPin(DIGITS[activeDigit], LOW);
|
gpioSetPin(DIGITS[activeDigit], LOW);
|
||||||
|
|
||||||
|
@ -33,6 +33,7 @@ void gpioInitPins() {
|
|||||||
P1DIR |= pin.bit;
|
P1DIR |= pin.bit;
|
||||||
P1SEL &= ~pin.bit;
|
P1SEL &= ~pin.bit;
|
||||||
P1SEL2 &= ~pin.bit;
|
P1SEL2 &= ~pin.bit;
|
||||||
|
gpioSetPin(p, pin.defaultOut);
|
||||||
} else if (pin.direction == PIN_IN) {
|
} else if (pin.direction == PIN_IN) {
|
||||||
P1DIR &= ~pin.bit;
|
P1DIR &= ~pin.bit;
|
||||||
P1SEL &= ~pin.bit;
|
P1SEL &= ~pin.bit;
|
||||||
@ -50,6 +51,7 @@ void gpioInitPins() {
|
|||||||
P2DIR |= pin.bit;
|
P2DIR |= pin.bit;
|
||||||
P2SEL &= ~pin.bit;
|
P2SEL &= ~pin.bit;
|
||||||
P2SEL2 &= ~pin.bit;
|
P2SEL2 &= ~pin.bit;
|
||||||
|
gpioSetPin(p, pin.defaultOut);
|
||||||
} else if (pin.direction == PIN_IN) {
|
} else if (pin.direction == PIN_IN) {
|
||||||
P2DIR &= ~pin.bit;
|
P2DIR &= ~pin.bit;
|
||||||
P2SEL &= ~pin.bit;
|
P2SEL &= ~pin.bit;
|
||||||
@ -63,7 +65,6 @@ void gpioInitPins() {
|
|||||||
P2OUT |= pin.bit;
|
P2OUT |= pin.bit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
gpioSetPin(p, pin.defaultOut);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +28,8 @@
|
|||||||
int main() {
|
int main() {
|
||||||
WDTCTL = WDTPW | WDTHOLD;
|
WDTCTL = WDTPW | WDTHOLD;
|
||||||
|
|
||||||
|
__disable_interrupt();
|
||||||
|
|
||||||
// highest possible system clock
|
// highest possible system clock
|
||||||
DCOCTL = DCO0 | DCO1 | DCO2;
|
DCOCTL = DCO0 | DCO1 | DCO2;
|
||||||
BCSCTL1 = XT2OFF | RSEL0 | RSEL1 | RSEL2 | RSEL3;
|
BCSCTL1 = XT2OFF | RSEL0 | RSEL1 | RSEL2 | RSEL3;
|
||||||
@ -62,7 +64,7 @@ int main() {
|
|||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
schExec();
|
schExec();
|
||||||
LPM3;
|
//LPM3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user