Hallo zusammen,
ich habe eine simple Schaltung mit einem Attiny2313. Dieser soll ein Paar Zeichen über den USART ausgeben wenn eine Taste Gedrückt wird.
Funktioniert soweit. Nun möchte ich die Schaltung mit einer Batterie betreiben, es soll also so wenig Strom wie möglich verbraucht werden. Wenn ich in der main loop folgendes schreibe, sendet der USART nur noch Murks.Code:void com_sendByte(unsigned char data) { //warten bis data register leer while(!(UCSRA & (1<<UDRE))); //Daten senden UDR = data; } void com_sendString(char *dataPtr) { while(*dataPtr) { com_sendByte(*dataPtr); dataPtr++; } } ISR(PCINT_vect) { if(~PINB & (1 << PINB0)) com_sendString("A1"); if(~PINB & (1 << PINB1)) com_sendString("A2"); }![]()
Kann mir Jemand helfen? Ich komme nicht weiter...Code:int main() { ... sei(); while(1) { set_sleep_mode(SLEEP_MODE_PWR_DOWN); sleep_mode(); } }
Lesezeichen