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
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
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
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.
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
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
ja stimmt - verzeihung, mein fehler - bei RA0, RA1 und RA4 kommts rein und raus kommts bei X,Y und Z vom Beschleunigungssensor (MEMSIC)... lg
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.
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
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 ??
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)
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
wenn du x.y.z mit trennzeiuchen erwartest müsste der sensor zb per uart angeschlossen sein damit er solche daten senden kann
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!
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
> Weiß jemand von euch, ob "1E" eine tiefere Bedeutung hat?
0x1E ist der Zeilentrenner beim guten QNX.
Das 0x0A vom UN*X quasi.
>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.
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!
@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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.