Aloha! Ich habe folgendes Problem! Ich möchte am ATmega16 z.B am PortD ,4 Bits auf 0 bzw. 1 setzen, und dadurch einen 4bit-Wert erzeugen....! Ich benutze den Code(asm): z.B SBI PORTD, 0 ;Pin auf High (gemessen 4,3V) CBI PORTD, 1 ;Pin (gemessen 1V) SBI PORTD, 2 ;Pin auf High (gemessen 4,2V) CBI PORTD, 3 ;Pin (gemessen 1V) sollte die bit-Folge 1010 ergeben. So meine Frage !!! Warum zieht der ATmega16 den Pin mit dem Befehl CBI nicht auf 0V; und warum zieht der ATmega den Pin mit dem Befehl SBI nicht auf 5V; Ich benutze übrigens das STK500
Hast du in DDRD die Pins auch als Ausgang gesetzt? Sonst machst du nur den int. PullUp an und aus. ;unteren 4bit als ausgang setzten ldi r16, 0x0f out DDRD, r16
Wo genau ist jetzt Dein Problem? Bei 5V Versorgungsspannung hat eine "1" an einem Portpin minimal 4.2V (das ist also ok), die "0" darf bis 0.7V haben (etwas hoch bei Dir, was fliessen da für Ströme, wo ist Dein Meßgeräte-Nullpunkt?) Martin
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.