hallo, wie stelle ich in assembler die pinns auf high/low? ich denke das geht so: ldi r16,0b11111111 out ddrc,r16 aber wenn ich das dann auf den mc at90s8535 überspiele sagt mein messgerät 0,00 Volt und wenn ich das so mache: ldi r16,0b00000000 out ddrc,r16 dann sagt mein messgerät ~0,02 Volt. ist das nicht zu wenig, oder reicht das? ich hab mal gehört, das man direkt eine LED an einem pin betreiben kann, aber mit so wenig spannung geht das nicht. was sagt ihr dazu?? mfg raoul4
Hi, pro Port gibt es 3 Register: DDRx, PORTx ud PINx. Mit DRx sagst Du dem Port, ob er Ausgang (0x00) oder Eingang (0xFF) sein soll. Ist DDRx = 0xFF (also Ausgang) gilt: ------------------------------------- - PORTx: Ausgabe für High oder Low - PINx: ohne Funktion Ist DDRx = 0x00 (also Eingang) gilt: ------------------------------------- - PORTx: Schaltet die internen PullUps an oder aus - PINx: liest die Pins ein Für Dein konkretes Problem: --------------------------- ;Port als Ausgang definieren ldi r16,0xFF out DDRC,r16 ;Pins auf HIGH ldi r16,0b11111111 out PortC,r16 Schau' Dir doch mal das Tutorial auf dieser Seite an!!! Viel Spaß! Sebastian
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.