issue in display, digit calculation found
This commit is contained in:
@ -28,6 +28,8 @@ typedef enum {
|
||||
const tPin ALL_PATTERN[] = { SEG_A, SEG_B, SEG_C, SEG_D, SEG_E, SEG_F, SEG_G, PINS_END };
|
||||
const tPin H_PATTERN[] = { SEG_B, SEG_C, SEG_E, SEG_F, SEG_G, PINS_END };
|
||||
const tPin I_PATTERN[] = { SEG_B, SEG_C, PINS_END };
|
||||
const tPin L_PATTERN[] = { SEG_D, SEG_E, SEG_F, PINS_END };
|
||||
const tPin O_PATTERN[] = { SEG_A, SEG_B, SEG_C, SEG_D, SEG_E, SEG_F, PINS_END };
|
||||
const tPin EMPTY_PATTERN[] = { PINS_END };
|
||||
const tPin NUMBER0[] = { SEG_A, SEG_B, SEG_C, SEG_D, SEG_E, SEG_F, PINS_END };
|
||||
const tPin NUMBER1[] = { SEG_B, SEG_C, PINS_END };
|
||||
@ -64,11 +66,14 @@ void displayInit(void *handleArg) {
|
||||
}
|
||||
|
||||
static void showNumber(uint8_t n) {
|
||||
const tPin *pattern = NUMBERS[10];
|
||||
const tPin *pattern = NUMBERS[ALL_ID];
|
||||
do {
|
||||
gpioSetPin(*pattern, LOW);
|
||||
pattern++;
|
||||
} while (*pattern != PINS_END);
|
||||
if (n < 0 || n > 9) {
|
||||
volatile uint8_t error = 1;
|
||||
}
|
||||
pattern = NUMBERS[n];
|
||||
do {
|
||||
gpioSetPin(*pattern, HIGH);
|
||||
@ -82,7 +87,7 @@ void displaySetValue(uint8_t v) {
|
||||
digitValues[0] = I_ID;
|
||||
} else {
|
||||
digitValues[1] = v / 10;
|
||||
digitValues[0] = v - digitValues[1];
|
||||
digitValues[0] = v - digitValues[1] * 10;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -23,8 +23,12 @@ void gpioInitPins() {
|
||||
tPinCfg pin = pinCfg[p];
|
||||
if (pin.portId == PORT1) {
|
||||
P1DIR |= pin.bit;
|
||||
P1SEL &= ~pin.bit;
|
||||
P1SEL2 &= ~pin.bit;
|
||||
} else if (pin.portId == PORT2) {
|
||||
P2DIR |= pin.bit;
|
||||
P2SEL &= ~pin.bit;
|
||||
P2SEL2 &= ~pin.bit;
|
||||
}
|
||||
gpioSetPin(p, pin.defaultOut);
|
||||
}
|
||||
|
@ -49,7 +49,7 @@ int main() {
|
||||
schAdd(displayExec, NULL, 0, 100);
|
||||
// schAdd(testTaskExec, &testTaskHandle1, 0, 20);
|
||||
// schAdd(testTaskExec, &testTaskHandle2, 2, 20);
|
||||
// schAdd(measureStartConversion, NULL, 0, 1000);
|
||||
schAdd(measureStartConversion, NULL, 0, 1000);
|
||||
|
||||
__enable_interrupt();
|
||||
|
||||
|
@ -18,11 +18,15 @@ volatile uint32_t timestamp;
|
||||
ISR(TIMER0_A0, TA0_ISR) {
|
||||
timestamp++;
|
||||
schUpdate();
|
||||
|
||||
P1OUT ^= BIT0;
|
||||
}
|
||||
|
||||
void timeInit() {
|
||||
timestamp = 0;
|
||||
|
||||
P1DIR |= BIT0;
|
||||
|
||||
TACCR0 = 32;
|
||||
TACCTL0 = CCIE;
|
||||
TACTL = MC_1 | ID_0 | TASSEL_1 | TACLR;
|
||||
|
Reference in New Issue
Block a user