mikrocontroller.net

Forum: PC Hard- und Software Excel Tabelle mit ASCII mit Parität gesucht


Autor: TIDD (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Uwe ... (uwegw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lass es doch mit Excel berechnen...

Autor: Peter II (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich versteht nicht mal die Frage? Will du 9Bits haben die dann da 
stehen?

Autor: ??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter II schrieb:
> Ich versteht nicht mal die Frage?

Ich auch nicht.

Sowas?
a  97 01100001 1
b  98 01100010 1
c  99 01100011 0
d 100 01100100 1
e 101 01100101 0
f 102 01100110 0
g 103 01100111 1
h 104 01101000 1
i 105 01101001 0
j 106 01101010 0
k 107 01101011 1
l 108 01101100 0
m 109 01101101 1
n 110 01101110 1
o 111 01101111 0
p 112 01110000 1
q 113 01110001 0
r 114 01110010 0
s 115 01110011 1
t 116 01110100 0
u 117 01110101 1
v 118 01110110 1
w 119 01110111 0
x 120 01111000 0
y 121 01111001 1
z 122 01111010 1
???

Autor: TIDD (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: TIDD (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es scheint sich um eine ungerade PArität zu handeln. Aber mehr lese ich 
da nicht raus :-(

Autor: ??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
grrr Netiquette: Was hast du genau vor?

Autor: TIDD (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für ein OPEL TID eine Liste mit den Zeichen erstellen, damit ich mir 
leichter beim testen tue.

Autor: ??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: TIDD (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: ??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: TIDD (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Peter II (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oder einfach mal ein paar Beispiele schreiben

Autor: DirkB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wird das Display denn angesteuert?

Seriell über RS-232?
Dann  macht das doch schon die Schnittstelle.

Autor: ??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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:
If Bin2s(a) = "0000000" Then
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.

Autor: ??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: TIDD (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Sodala. Hab mir jetzt ein eigenes Konvertierungsprogramm geschrieben.
Für alle die ein solches brauchen können.

Autor: TIDD (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kein Feedback? Wieder jeder Angst vo Vieren?

Autor: qwerty (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo. Der Open Source-Profi gibt nur den Quellcode frei, kompilieren darf 
jeder selber.

Autor: DirkB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 :-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.