Forum: Mikrocontroller und Digitale Elektronik ASCII "1E" ?


von Luki (Gast)


Lesenswert?

Hallo!

Weiß jemand von euch, ob "1E" eine tiefere Bedeutung hat?

Ich hab jetzt mal rausgefunden, dass es in ASCII "RS" bedeutet und 
irgndwie für einen Zeichentrenner steht, aber ich weiß nicht wo der 
Fehler bei meiner AD-Wandlung liegt, dass ich das immer wieder 
rausbekomm...

lg luki

von spess53 (Gast)


Lesenswert?

Hi

>aber ich weiß nicht wo der Fehler bei meiner AD-Wandlung liegt, dass ich >das 
immer wieder rausbekomm...

Was haben AD-Wandlung und ASCII-Zeichen miteinander zu tun?

Die Steuerzeichen waren ursprünglich zur Steuerung von Fernschreibern, 
ASCII-Terminals ü.ä. gedacht und haben heute nur noch bedingt ihre 
ursprüngliche Funktion.

MfG Spess

von Luki (Gast)


Lesenswert?

danke für die rückmeldung!

das hat folgenden zusammenhang: ich mach die AD-Wandlung und wandle die 
Zeichen vor dem Senden in einen ASCII-String um (das hat bei mir 
verschiedene Gründe) - jednfalls bekomm ich bei jeder der drei 
unterschiedlichen AD-Wandlungen immer "1E" raus - vielleicht deutet das 
ja auf einen einschlägigen Fehler hin...

lg

von Andreas K. (derandi)


Lesenswert?

Wo kommt das denn raus? Ich glaub eher du hast da ein Problem mit der 
Umwandlung von Integer zu String.. ;)
Zeig doch mal wie du umwandelst.

von Luki (Gast)


Lesenswert?

Ich überprüf das immer mit einem Microchip PICkit seriel am PC... und 
teilweise auch noch zusätzlich mit einem Oszi... die AD-Wandlung kommt 
beim PIC16F88 bei den Pins RA0, RA1 und RA4 raus!

lg

von spess53 (Gast)


Lesenswert?

Hi

>die AD-Wandlung kommt beim PIC16F88 bei den Pins RA0, RA1 und RA4 raus!

Wenn ich das Datenblatt richtig deute, sind das die Eingänge.

MfG Spess

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

Ganz klar,
der Fehler liegt in Zeile 42 !

von Luki (Gast)


Lesenswert?

ja stimmt - verzeihung, mein fehler - bei RA0, RA1 und RA4 kommts rein 
und raus kommts bei X,Y und Z vom Beschleunigungssensor (MEMSIC)...

lg

von ingFH (Gast)


Lesenswert?

Ich würde auf Zeile 74 tippen. 1E ist übrigens gleich 1e. Alles 
Klärchen?

von Karl H. (kbuchegg)


Lesenswert?

Aus deiner Beschreibung wird kein Mensch schlau.
Mal machst du selber die A/D Wnadlung. Dann wieder liest es sich so, als 
ob der Sensor das schon machen würde.

Was machst du denn genau? Wer hat welches Programm geschrieben?

Wenn der Sensor eine Spannung liefert und dein Prgramm wandelt die 
Spannungen per A/D Wandlung in Zahlenwerte um, und in den Zahlenwerten 
ist ein 0x1E enthalten, dann wird wohl in deinem Programm ein Fehler 
sein. Denn: Der Sensor weiß nichts von ASCII, der liefert nur 
Spannungen.

Kann aber auch sein, dass ich falsch liege. Denn wie gesagt, deine 
Beschreibungen sind ein wenig konfus.

von Luki (Gast)


Lesenswert?

Ich weiß - die beschreibung war offensichtlich alles andere als 
eindeutig...

Karl Heinz Buchegger hat den Nagel auf den Kopf getroffen: Sensor 
liefert Spannung, Spannung wird vom PIC AD-gewandelt und dabei erhalte 
ich dann immer und immer wieder 1E! Ich dachte, da 1E sowas wie 
Informationstrennzeichen (was aber an dieser Stelle überhaupt falsch 
angebracht wäre) bedeutet, würde man vielleicht einen bestimmten zweck 
dahinter vermuten können - z.B. sowie CR und LF...

lg

von gast (Gast)


Lesenswert?

poste doch einfach die beschaltung und was du geschrieben hast
ansonst kann dir keiner genau was sagen

wenn alle werte bei dir 1E sind liegt entweder ein baudratenproblem oder 
ein wandlungsproblem vor

also sendet der µC richig ?
und wandelst du die daten richtig ?
wird der sensor korrekt ausgelsen ??

von gast (Gast)


Lesenswert?

nö die spannungen misst du einfach
es geht halt von 0 bis 5V was dann bei 8bit 0 bis 255 interpretiert wird
bei 10bit eben von 0 bis 1023

also x,y,z hat in deinem programm einen zahlenwert von 0 bis 255( 8bit)


zum uart senden wandelst du das nun in einen string
itoa( zielbuffer, x, 10)
uart_print( zielbuffer )

sprint wandelt auch um brauch aber mehr recourcen
oder größer mit sprintf( zielbuffer , " x:%i y:%i z%i", x,y,z)
uart_print(zielbuffer)

von Luki (Gast)


Lesenswert?

Danke für die vielen Rückmeldungen!

Der sensor arbeitet korrekt - wurde mitn oszi schon überprüft...

ich tipp stark auf einen software-fehler, aber ich find ihn nicht...

lg

von gast (Gast)


Lesenswert?

wenn du x.y.z mit trennzeiuchen erwartest müsste der sensor zb per uart 
angeschlossen sein damit er solche daten senden kann

von Karl H. (kbuchegg)


Lesenswert?

Luki schrieb:
> Danke für die vielen Rückmeldungen!
>
> Der sensor arbeitet korrekt - wurde mitn oszi schon überprüft...
>
> ich tipp stark auf einen software-fehler, aber ich find ihn nicht...
>

Zum x-ten mal

P O S T E    D E I N E N    C O D E

Wir sind doch keine Hellseher!

von gast (Gast)


Lesenswert?

wenn er nicht will ...

wenn is code is de inern für eine firma ist darf man das teils nicht .. 
das is was anderes

aber mitlerweile sollte genug geholfen sein

von QNXer (Gast)


Lesenswert?

> Weiß jemand von euch, ob "1E" eine tiefere Bedeutung hat?

0x1E ist der Zeilentrenner beim guten QNX.

Das 0x0A vom UN*X quasi.

von holger (Gast)


Lesenswert?

>Sensor liefert Spannung, Spannung wird vom PIC AD-gewandelt und dabei erhalte
>ich dann immer und immer wieder 1E! Ich dachte, da 1E sowas wie
>Informationstrennzeichen (was aber an dieser Stelle überhaupt falsch
>angebracht wäre) bedeutet, würde man vielleicht einen bestimmten zweck
>dahinter vermuten können - z.B. sowie CR und LF...

Dein AD misst einen Wert. Wenn DU dann Müll daraus machst
und sendest, dann gibt es nichts zu interpretieren.
Steuerzeichen sendet ein Programm normalerweise nicht
von alleine. Dafür ist der Programmierer verantwortlich.

von Luki (Gast)


Lesenswert?

an dieser stelle werde ich mich mal zurückziehen - wie bereits richtig 
angedeutet wurde, sind wir dabei etwas halbwegs neuartiges zu kreieren 
und es wär nicht richtig das jetzt schon zu verbreiten - aba wenn 
interesse besteht kann ich mich meldn sobald ich den fehler gefunden 
hab...

danke jedenfalls für die rückmeldungen! echt ein wahnsinn wie schnell 
hier Antworten eintruddeln!

von Gast (Gast)


Lesenswert?

Ja ne, is klar!

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

@Liki

ob das was neues oder was alte ist ändert nix an folgender Tatsache:

Man kann Fehler genau beschreiben, ohne daß man irgendwelche 
verwinkelten Umschreibungen macht. Komm einfach präzise auf den Punkt, 
das zeichet einen guten Ingenieur aus.


Deine Eingangsfrage "Ob 1E eine tiefere Bedeutung hat"  hat reineweg 
garnichts mit deinem Problem zu tun. Auch wenn es einen spirituell oder 
andersartigen tieferen Sinn hätte, löst die Beantwortung DIESER Frage 
nicht dein Problem. Du solltes über Betreff und Inhalt (Formulierung) 
deiner Anfragen noch mal nachdenken.



PS: Meine Frau stellt manchmal auch so seltsame Fragen. Neulich standen 
wir an einem Schuhgeschäft, und sie sagte/fragte: "Sind die roten Schuhe 
dahinten nicht schön?". Meine Antwort war kurz und bündig "Ja". Das war 
aber "eigentlich" nicht das was sie gefragt hatte bzw. was sie als 
Antwort hören wollte.

Ahnst du, was ihre "genaue" Frage war, bzw. was sie als Antwort von mir 
hören wollte?

von Luki (Gast)


Lesenswert?

OK - ich denke ich bin allen hier inzwischen eine genaue Erläuterung 
meines Problems schuldig (tut mir leid für die konfusen Beschreibungen, 
aber ich war gestern schon ein wenig hinüber und hab versucht eine 
Lösung aus dem Himmel zu zaubern).

Also: ich will die Daten eines Beschleunigungssensor (X,Y,Z Achse) 
mittels PIC16F88 auswerten und anschließend in einen ASCII-Code 
umwandeln und diesen dann weitersenden.

Die drei Achsen des Beschleunigungssensor sind am PIC am PORTA an den 
Pins 0, 1 und 4 angeschlossen. Der Sensor liefert eine Spannung, die ich 
mit dem PIC AD wandeln will. Und dabei war mein Problem, dass ich 
ständig "1E" erhalten habe - egal welche Achse, egal welche Position.

Da der Beschleunigungssensor aber richtig arbeitet und die Platine sonst 
auch einwandfrei funktioniert bin ich mir nun sehr sicher gewesen den 
Fehler in der Software zu finden.

Ich kann das gesamte erst morgen oder am Dienstag austesten - jedoch 
habe ich heute vormittag einen groben Anfängerfehler gefunden:
der Wert der AD-Wandlung wird in ein Register geschrieben und ich habe 
dieses Register mit einem Befehl ins WREG verschieben wollen. jedoch hab 
ich den falschen Befehl verwendet - ich hab ständig verlangt, das der 
PIC einen "Literal"-Wert ins WRGE schiebt - jedoch wollte ich ein sich 
ständig änderndes Register verschieben. Ich denke das könnte wirklich 
der Grund für das Problem gewesen sein.

Danke an euch alle für die Hilfe (trotz meiner chaotischen 
Beschreibungen).

PS: ich denke deine Frau wollte einfach nur, dass du ihr die Schuhe 
kaufst, egal ob sie dir gefallen oder nicht ;)

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
Noch kein Account? Hier anmelden.