hallo jungs, habe heute ein brett vor dem kopf. habe 2 atmegas8 amlaufen mit lcd usw. der eine schickt seine daten an den anderen, zb schalter am atmega1 ausgaenge vom atmega2 werden geschaltet, schalter Atmega2 werden auf LCD vom atmega1 angezeigt, alles super, aber ich habe eine blockade momentan, habe schon im forum gesucht aber nichts gefunden. ich moechte 2 ausgaenge in reihe schalten. siehe beispiel unten. beispiel If Pind.6 = 1 Then Adresse = 1 Print Adresse End If If Pind.7 = 1 Then Adresse = 2 Print Adresse End If d.6 =1 und D.7=1 = Adresse = 3 ich danke fuer eure hilfe jetzt schon mal im Vorrau, Dietmar Die Rechtschreibung lassen wir heute mal weg, habe schon Kopfschmerzen davon.
Vielleicht habe ich es richtig verstanden:
1 | Adresse = 0 |
2 | |
3 | If Pind.6 = 1 Then |
4 | Adresse = Adresse + 1 |
5 | Print Adresse |
6 | |
7 | End If |
8 | |
9 | If Pind.7 = 1 Then |
10 | Adresse = Adresse + 2 |
11 | Print Adresse |
12 | End If |
Jetzt ist Adresse 0, 1, 2, oder 3; je nachdem ob keiner oder Pin6 oder Pin7 oder beide an sind. Gute Besserung!
Mal im Groben so: ergebnis = 1 +2 print ergebnis oder ist das zu einfach?
Die Print... gehören natürlich noch aus den If-Blöcken raus, dafür ein Print ganz am Ende.
das ja richtig, aber ich moechte es ja so machen eingang adr 1 1 2 2 1+2 3 2 4 usw. binaer halt und bei eingang 1+2 =3 ist momentan die blockade bei mir.
das ist richtig ist ja auch nur ein beispiel weil print befehl kommt am ende da ergebnis ja sonnst falsch waehre.
Vielleicht so? If (Pind.7 = 0) and (Pind.6 = 1) Then Adresse = 1 End If If (Pind.7 = 1) and (Pind.6 = 0) Then Adresse = 2 End If If (Pind.7 = 1) and (Pind.6 = 1) Then Adresse = 3 End If Print Adresse Gruß bix
Dietmar schrieb: > das ja richtig, > > aber ich moechte es ja so machen > eingang adr > 1 1 > 2 2 > 1+2 3 > 2 4 > usw. > > binaer halt und bei eingang 1+2 =3 ist momentan die blockade bei mir. Was denn nun? eingang 2 soll 2 geben oder 4? Mal angenommen, deine Pind.6 und Pind.7 sind jeweils ein Bit. Dann kann es doch nur 4 Zustände geben:
1 | Pind.6 | Pind.7 | Adresse (falls ich es richtig verstanden habe) |
2 | ----------+--------+------------------------------------------------ |
3 | 0 | 0 | 0 |
4 | 1 | 0 | 1 |
5 | 0 | 1 | 2 |
6 | 0 | 0 | 3 |
Dann kannst du es nach meinem Vorschlag machen, oder dem von bix, oder ganz kurz:
1 | Adresse = Pind.6 + 2*Pid.7 |
Ansonsten habe ich die Frage immer noch nicht verstanden.
0 & 0 =0? Oder doch =3? So schnell kann es gehen mit der Vertipperei...:-) "Was denn nun? eingang 2 soll 2 geben oder 4?"
ok, so soll die Tabelle aussehen:
1 | Pind.6 | Pind.7 | Adresse (falls ich es richtig verstanden habe) |
2 | ----------+--------+------------------------------------------------ |
3 | 0 | 0 | 0 |
4 | 1 | 0 | 1 |
5 | 0 | 1 | 2 |
6 | 1 | 1 | 3 |
Hoffe ich...
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.