Hallo zusammen. Seit gestern versuche ich mir nicht begreifliches Problem zu lösen. System: STK500 Attiny 2313 kein JTAG-Fuse Code: int main(){ DDRB = 0xff; //Outputs zum Test PORTD &= ~(1<<PD2); //Eingang auf L PORTA &= ~(1<<PA0); //Eingang auf L while(1){ if ( !(PINA & (1<<PINA0)) )PORTB = 0xFF;else PORTB = 0x00; if ( !(PIND & (1<<PIND2)) )PORTB = 0xFF;else PORTB = 0x00; }//while }//main Frage: Ich möchte den Zustand der Pins abfragen. Warum funktioniert PIND2 aber nicht PINA0? Ich hoffe meine Frage ist nicht alzu dumm oder unvollständig gestellt. Vielen Dank für eure Hilfe!
Hi Das funktioniert schon. Nur aber so schnell, das du es nicht mitbekommst. Die zweite if-Anweisung überschreibt PortB wieder. MfG Spess
hm - das hab ich mir gedacht. Mein Code ist nicht 100% verständlich. Natürlich habe ich die Abfragen getrennt getestet. So wie es hier steht ist es natürlich wahr was du sagst; Ändert am Prob leider nix. PINA0 läuft auch alleine nicht.
auch wenn ich an PINA0 mit
PORTA |= (1<<PA0);
den Pullup setze, liegen keine 5V am Eingang an. imeer was um die 500mV
es liegt wohl am STK500. Außerhalb funkt der Pin. Meine jetzigen Setings sind: OSCEL bei 1/2 gesetzt XTAL1 gesetzt Nur wenn ich es ändere funktioniert es auch nicht wirklich. We will see. Ich lese weiter nach dem Fehler;)
Hi
>es liegt wohl am STK500. Außerhalb funkt der Pin.
Die Anschlüsse von PortA liegen beim ATTiny2313 auch nicht auf der
Stiftleiste PortA, sondern auf Stiftleiste PortE/AUX XT1/XT2.
MfG Spess
genau das war es. PORTA liegt beim STK auf PORTE. Vielen Dank Spess für den Tip. Es ist das erste mal, dass mir so etwas vor kommt. In Zukunft werde ich den Faktor mit in eine eventuelle Fehlersuche einbeziehen.
Hi Das gilt übrigens für alle AVRs, bei denen die XTAL-Pins als Portpins verwendet werden können. MfG Spess
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.