Gast
#2668171
Hi, ich probier jetzt seit 3 Tagen ein Programm auf einem ATTINY13 laufen zu lassen aber es will nicht. Code: ----------------------------------------------------------------- #include <avr/io.h> #include <stdint.h> void init_PWM_t13 () { //FastPWM, TOP=0xFF, non-invert OC0x // COM00 COM01 => Normal port operation, OC0A disconnected. // COM0A1 => Clear OC0A on Compare Match when up-counting. Set OC0A on // Compare Match when down-counting. TCCR0A = (1<<COM0A1) | (1<<WGM01) | (1<<WGM00); // Compare Match Output A Mode | Waveform Generation Mode TCNT0 = 0; //Timer/Counter Register all to zero TCCR0B = (1<<CS00); // clkI/O (No prescaling) } int main (void){ DDRB |= (1<<PB0); //| (1<<PB1); //PWM sind Ausgänge DDRB &= ~( 1 << PB1 ); /* PIN PB1 auf Eingang Taster) */ DDRB &= ~( 1 << PB2 ); /* PIN PB2 auf Eingang Taster) */ PORTB |= ( 1 << PB1 ) | ( 1 << PB2 ); /* Pullup-Widerstand aktivieren */ init_PWM_t13(); uint8_t i=30; while(1){ if( PINB & ( 1 << PB1 ) ) { if( 253 == i ) { i = i + 1; } } else if( PINB & ( 1 << PB2 ) ) { if( 1 == i ) { i = i - 1; } } OCR0A=i; } } --------------------------------------------------------------------- Was ich will: Nach meinem Programm will ich PIN PB1 bzw. PB2 "Auslesen" und dann dementsprechend meine Zählvariable i hoch/runter zählen dementsprechend wir dann eine LED an PB0 heller oder dunkler. Problem: es tut sich nichts wenn ich einen Taster Drücke... meine Eingänge sind auf 5V und werden von den Tastern auf GND gezogen was ich auch messen kann aber in meinem µC tut sich nichts. Auffälligkeit: nach dem Einschalten sollte ja eingentlich mein PWM auf "30" stehen aber ich hab volle Leistung. PS: - PWM Geht, ohne Abfragen ist alles setzbar. - zuvor hab ich die Helligkeit mit einem Poti und dem ADC realisiert was auch funktioniert hat. TIPS, Ratschläge