Hallo liebe Forenbesucher, ich möchte gerne mittels Atmega8 3 Schieberegister ansteuern, was auch prinzipiell wunderbar funktioniert. Allerdings suche ich im Moment nach einer Möglichkeit, die Bytes, welche ich zum Schieberegister "hinausschieben" möchte, so zu verändern, sodass ich jedes einzelne Bit eines Bytes sepperat ansprechen und verändern kann. Beispiel: (In Bascom) 8 Varriablen deklariert: A B C D E F G H Dim Daten as Byte Daten = ABCDEFGH und jetzt könnte ich jedes einzelne Bit sepperat programmieren. A = 1 B = 0 C = 1 ....usw (Das dieser Programmtext nicht funktioniert, weiß ich, ich habe ihn nur zur Veranschaulichung meines Problems gewählt.) Bestimmt gibt es da eine Möglichkeit, allerdings weiß ich leider nicht einmal was ich in google/Forensuche eingeben soll. (Bitmanipulation o.Ähnliches habe ich schon versucht) Im Anhang befindet sich mein Programmtext, mit dem ich die Register ansteuere, villeicht möchte den ja jemand sehen. Ich bedanke mich jetzt schon einmal im Vorraus für eure Hilfe und wünsche allen Lesern einen guten Rutsch ins neue Jahr! Grüße, Steffan
>Im Anhang befindet sich mein Programmtext, mit dem ich die Register >ansteuere, villeicht möchte den ja jemand sehen. Ja -und kann nicht!
Schau dir bitte mal die Seite Bitmanipulation an, da wird sehr viel zu diesem Thema erklärt. Nicht erwähnt sind dort die sehr nützlichen Befehle "bst" und "bld", aber die findest du in der Instruction-Set-Doku von Atmel.
Hallo Geht in Bascom genuso wie Port Pins setzen daten.0 = 1 setzen von Bit 0 in daten daten.0 = 0 löschen von Bit 0 in daten Geht auch schön mit Variblen a = 5 daten.a = 1 Gruß Dieter
Hallo, vielen, vielen Dank für eure Antworten, ich werde mich gleich mal daran machen, eure Tipps auszuprobieren. Grüße, Steffan
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.