Hallo Leute, WEil ich nicht ständig rechnen will suche ich eine XLS Tabelle mit den Buchstaben A-Z welche den binären Wert bereits mit der Parität (gerade) enthält. Diese Tabelle würde sehr viel Arbeit abnehmen. Leider habe ich keine fertige Tabelle im Netz gefunden :-( mfG TIDD
Ich versteht nicht mal die Frage? Will du 9Bits haben die dann da stehen?
Peter II schrieb: > Ich versteht nicht mal die Frage? Ich auch nicht. Sowas?
1 | a 97 01100001 1 |
2 | b 98 01100010 1 |
3 | c 99 01100011 0 |
4 | d 100 01100100 1 |
5 | e 101 01100101 0 |
6 | f 102 01100110 0 |
7 | g 103 01100111 1 |
8 | h 104 01101000 1 |
9 | i 105 01101001 0 |
10 | j 106 01101010 0 |
11 | k 107 01101011 1 |
12 | l 108 01101100 0 |
13 | m 109 01101101 1 |
14 | n 110 01101110 1 |
15 | o 111 01101111 0 |
16 | p 112 01110000 1 |
17 | q 113 01110001 0 |
18 | r 114 01110010 0 |
19 | s 115 01110011 1 |
20 | t 116 01110100 0 |
21 | u 117 01110101 1 |
22 | v 118 01110110 1 |
23 | w 119 01110111 0 |
24 | x 120 01111000 0 |
25 | y 121 01111001 1 |
26 | z 122 01111010 1 |
???
Nein nur 8 Bit. Habe nur einen Bascom Code bei dem 8 Zeichen mit Parität versehen werden. Leider bin ich noch ein Anfänger. Könnte es mir jemand erklären??? Sub Createtxt() For A = 1 To 8 Count_parity = 0 Letters2s(a) = Mid(text2s , A , 1) Hex2s(a) = Asc(letters2s(a)) Bin2s(a) = Bin(hex2s(a)) Bin2s(a) = Right(bin2s(a) , 7) If Bin2s(a) = "0000000" Then Bin2s(a) = "0100000" End If For B = 1 To 7 'anzahl der highs in wort zählen Bitsofletter = Mid(bin2s(a) , B , 1) If Bitsofletter = "1" Then Incr Count_parity End If Next B If Count_parity = 0 Or Count_parity = 2 Or Count_parity = 4 Or Count_parity = 6 Or Count_parity = 8 Then 'parität ermitteln Parity_bit = "1" Else Parity_bit = "0" End If Bin2s(a) = Bin2s(a) + Parity_bit Hex2s(a) = Binval(bin2s(a)) Next A End Sub
Es scheint sich um eine ungerade PArität zu handeln. Aber mehr lese ich da nicht raus :-(
Für ein OPEL TID eine Liste mit den Zeichen erstellen, damit ich mir leichter beim testen tue.
Ich glaubs nicht. Was soll in dieser verflixten Liste den genau drin stehen? Guck dir mal an was ich da oben gepostet hab, passt das? Und was ist ein "(P*)Opel PID"? * SCNR
Opel TID = Opel Triple Info Display. In der Liste sollte z.b. stehen: A = 10101010 B = 10101011 Leider kapiere ich den Bascom Code nicht umbedingt.
Na ja, so wirklich klar ist das ja nicht aber ich will mal nett sein. TIDD schrieb: > Opel TID = Opel Triple Info Display. Ach ok, irgendwelcher moderner Autokrempel. Glaskugel: Du willst ein solches Dingsda außerhalb eines Autos ansteuern, richtig? > In der Liste sollte z.b. stehen: > A = 10101010 > B = 10101011 Also einfach für jedes Zeichen der ASCII-Wert in Binärschreibweise? Das ist selbst in C (fast) ein 3-Zeiler. (Ich geh mal davon aus 10101010 ist zufällig gewählt.) Will das Display die ASCII-Codes als String aus 0 und 1? Würde mich ja sehr wundern. > Leider kapiere ich den Bascom Code nicht umbedingt. Simulieren oder besser: In die Doku der benutzten Funktionen gucken und die Funktion schrittweise nachvollziehen (Papier+Bleistift sind dabei ein sehr nützliches Werkzeug!) Ich hab nie im Leben Bascom programmiert und verstehe den Code fast vollständig, so schwierig ist das nicht. Nochmal: Schreib ganz genau was los ist. - Was hast du? (das Display) - Was willst du damit machen? (ansteuern?) - Woher kommt der Bascomcode? - ... - Wo genau ist das Problem?
Richtig. Ich will das Display ausserhalb des Autos ansteuern. Ist gar nicht so neu (Bj.95). Den Bascom Code habe ich aus diesem Forum. Nur in Binärschreibweise reicht nicht, weil noch das Paritätsbit hinzugefügt werden soll. Die Zahl wird dann in Byteform (inklusive Paritätsbit) zum Display gesandt.
TIDD schrieb: > Die Zahl wird dann in Byteform (inklusive Paritätsbit) zum Display > gesandt. Welche hätten wir den gerne? * Zero Parity * One Parity * Even Parity * Odd Parity * Extended ASCII http://core.ecu.edu/csci/wirthj/Basen/asciiCode.html Da wird auch erklärt wie man das jeweils bestimmt. Also einfach im zweifel schnell selbst eine Tabelle gemacht das ist selbst wenn du dir diese er Hand aufstellt definitiv schneller als hier zu warten bis dir das jemand vorkaut.
Wie wird das Display denn angesteuert? Seriell über RS-232? Dann macht das doch schon die Schnittstelle.
DirkB schrieb: > Wie wird das Display denn angesteuert? Das ist die entscheidene Frage, dann können wir helfen. Glaskugel : Der Bascomcode da oben enthält die Funktion Right() welche laut Doku (im konkreten Fall) 7 Bits von rechts zurückliefert, anders gesagt das MSB wegwirft. Original-ASCII ist doch 7-Bit codiert, plus 1 Bit Parität gibt 8 = 1 Byte, klingt logisch. Was diese Zeilen sollen bleibt mir aber verborgen:
1 | If Bin2s(a) = "0000000" Then |
2 | Bin2s(a) = "0100000" |
Demnach braucht der TO eine Tabelle mit den 7(!)-Bit ASCII-Werten von 'a', 'b', ... und dem passenden Paritätsbit, wobei laut dem Link von Läubi die Parität "links angehängt" wird (MSB). Über den Sinn einer solchen Tabelle will ich jetzt nicht nachdenken, die Berechnung zur Laufzeit ist wohl fast einfacher (naja, vielleicht nicht in Bascom). Stimmt das jetzt? Aber: > Seriell über RS-232? > Dann macht das doch schon die Schnittstelle. Das ist wohl wahr. Läubi .. schrieb: > Also einfach im > zweifel schnell selbst eine Tabelle gemacht das ist selbst wenn du dir > diese er Hand aufstellt definitiv schneller als hier zu warten bis dir > das jemand vorkaut. Vorausgesetzt man hat den "Algorithmus" verstanden, ich hab das Gefühl hier übernimmt sich mal wieder jemand ganz erheblich.
Das war so klar, sobald die Texte zu lang werden um sie nebenbei zu überfliegen und die Antwort nicht sofort, augenblicklich und direkt geliefert wird verschwindet der TO ohne sich auch nur bedankt zu haben. GRRR
Sodala. Hab mir jetzt ein eigenes Konvertierungsprogramm geschrieben. Für alle die ein solches brauchen können.
Jo. Der Open Source-Profi gibt nur den Quellcode frei, kompilieren darf jeder selber.
Oder du gibst die Tabelle raus. Da keiner genau weiß was du wolltest, weiß auch keiner ob das so richtig ist. Nebenbei kann ich z.Zt. mit Exe-Dateien nichts anfangen :-)
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.