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
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
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
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
>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 ;)