Zorbing icon

[ES] Wasserdrucksensor.c

Zorbing | PRO | 07/24/14 07:55:05 PM UTC | 0 ⭐ | 392 👁️ | Never ⏰ | []
C |

520 B

|

None

|

0 👍

/

0 👎

void main() {
    adc_init();
    DDRA &= ~((1 << PA0) | (1 << PA1));
    DDRB |= (1 << PB0);
    while (1) {
        uint16_t counter = 50000;
        uint8_t refBit = 3;
        while (counter > 0) {
            counter--;
            refBit &= 1 + ((PINA & (1 << PA1)) >> 1);
            delay(39);
        }
        // is the refBit 1 or 2? => maskBit is 1 else 0
        uint8_t maskBit = (refBit & 1 | (refBit >> 1) & 1);
        PORTB = PORTB & ~(maskBit << PB0);
 
        uint16_t strangeWaterLevelValue = get_adc();
        if (strangeWaterLevelValue < 100)
            PORTB = PORTB & ~(1 << PB0);
    }
}

Comments