Da werdem den Port Hex-Zahlen zugewiesen.
http://de.wikipedia.org/wiki/Hexadezimalsystem
Die Umrechnung kannst Du im Calc von Windows machen aber wenn Du das mehr als 3 mal gemacht hast bekommst Du das auch im Kopf hin.
0x12 = 00010010
Neue Frage:
Das hab ich aus einem Programmbeispiel:
DDRA=0x13; //Pin 0, 1 und 4 als Output
DDRB=0x04; //Pin 2 als Output
Wie setz sich das zusammen oder wo kann man das nachlesen, wie z.B. "0x13" zusammengesetzt ist?
Dahinter steht zwar als Kommentar: "//Pin 0, 1 und 4 als Output" , aber woher weiss ich, was z.B. "0x12" aussagt?
Da werdem den Port Hex-Zahlen zugewiesen.
http://de.wikipedia.org/wiki/Hexadezimalsystem
Die Umrechnung kannst Du im Calc von Windows machen aber wenn Du das mehr als 3 mal gemacht hast bekommst Du das auch im Kopf hin.
0x12 = 00010010
Hallo copious,
hier ist eine kleine Tabelle hex->bin
0=0000
1=0001
2=0010
3=0011
4=0100
5=0101
6=0110
7=0111
8=1000
9=1001
A=1010
B=1011
C=1100
D=1101
E=1110
F=1111
demnach ist 0x13 = 0b00010011
MfG Mark
EDIT:--------------------
irgendwie bin ich immer zu spät^^
Klasse danke euch, hab vorhin sogar was darüber gefunden, hatte ich eigentlich schon in der Schule, aber bin schon viiiiiiiiiieeeel zu lange raus
Andreas
Jippi, ich denke ich habs raus, ist überhaupt nicht schwer \/
Für den Einstieg werde ich erstmal binäre Werte angeben, anstelle Hex-Werten, ist für mich einfacher nachzuvollziehen, um einzelene Pins an den Ports zu beeinflussen
Bei den Ports mach ich das auch immer so, gerade wenn ich mehrere gleichzeitig verändern will - ich finde das ist einfacher.Für den Einstieg werde ich erstmal binäre Werte angeben, anstelle Hex-Werten, ist für mich einfacher nachzuvollziehen, um einzelene Pins an den Ports zu beeinflussen
Da braucht man nicht ständig in die Liste gucken und man sieht quasi 1 zu 1, welcher Pin am Port geschaltet wird \/Zitat von wkrug
Welche Möglichkeiten gibt es, einen Schaltzustand zu definieren?
Momentan leuchtet die LED nur, wenn ich den Taster gedrückt halte.
Wie bekomme ich das hin z.B. 1x drücken = LED bleibt an und wieder 1x drücken = LED geht wieder aus?
MFG
Zuerst brauchst du mal eine Entprell Routine.Wie bekomme ich das hin z.B. 1x drücken = LED bleibt an und wieder 1x drücken = LED geht wieder aus?
ein Taster schließt und öffnet während einer Betätigung mehrmals und somit wäre dein Zustand der LED hinterher nicht eindeutig.
Als nächstes musst Du den Zustand der Taste abspeichern und erst wieder reagieren wenn die Taste von 0 nach 1 wechselt, wenn der Taster gegen GND schaltet natürlich von 1->0.
Beispiel:
In deinem Programm wird zyklisch die Taste über die Entprell Routine abgefragt. Ändert sich der Zustand von vorher 0 -> 1 (1 -> 0 bei GND)wird deine LED ein bzw. aus geschaltet.
Das ist ein Weg der Realisierung.
Man kann das auch über Interrupts, Timerabfragen oder sonstwas hinkriegen.
Es kommt halt darauf an, was der Controller sonst noch zu tun hat und ob da noch Timer frei sind, oder ohnehin Zyklisch Interrupts produzieren.
Was hälst du davon? (Hat mir einer unserer Programmierer vorgeschlagen)
Code:if (readInput && taste && led){ led = false; readInput = false; } if (readInput && taste && !led){ led = true; readInput = false; } if (!taste) { readInput = true; }
Lesezeichen