hallo ich habe ein problem beim xc161 und zwar, wenn ich daten (z.b. floats) mit der serielle schnittstelle und das, durch einen kleinen Delphi programm (selbst gemacht) sende, dann schickt mir der mikrocontroller bloss das erste zahl zurück,statt die anderen ziefern schreibt er " NaN". kann mir jemand vielleicht eine idee sagen,an was das hängen kann !!? danke P.S es kann nicht an der delphi programm hängen,denn ich es bei der hyperterminal probiert habe,und funktioniert einwandfrei !!
Wenn ich das jetzt richtig verstanden habe: Sie mal nach, ob Du das Stop-Bit richtig erkennst und alle Einstellungen stimmen. MfG Steven
Wie schickst du den die Float zum PC. Im Klartext als ASCII -Zeichen oder direkt als Binaer. NaN heist not a number. Da konnte was nicht umgewandelt werden. Duerfte aber nur auftreten wenn du die Uebertragung binaer machst. Bei ASCII - nach Float umwandlung auf dem PC duerfte das nicht auftreten.
danke für ihre hilfe, dieses problem habe schon gelöst. es hängte an das Delphi programm !!:) nun ich habe eine andere frage, und zwar wie kann man ein mikrocontroller software-mässig restarten? und ob so was überhaupt machbar ist !!? danke für ihre hilfe ciao
Was meinst du mit Softwaremaessig Restarten ? Meinst du das der Prozessor sich so verhaelt wie beim 1. einschalten ? Dazu koennstes du einfach den Code aufrufen der direkt nach dem Reset ausgefuehrt wird. Wenn deine Software ueber einen Watchdog verfuegt dann hoere einfach ihn zu fuettern. Nach einiger Zeit kriegt er dann Hunger und dann .... RESET oder du legts den Reseteingang auf einem PORTpin un triggerst ihn damit. Gruss Helmi
hallo helmi ich habe versucht mit RESET aber der compiler erkennt das wort nicht!! ich habe keil µvision 3...oder hast du vielleicht ein kleines trick mit dem ich der prozessor wie beim 1. einschalten zum laufen bringe !!? Mfg mehdi
Das Wort kann er auch nicht kennen. Das ist ein Pin am Prozessor. In Assembler Jmp Far 0000 Damit sollte er auf Addresse 0 springen . Dort liegt der Code der zuerst nachdem Reset ausgefuehrt wird. Oder wie ich schon gesagt habe den Watchdog nicht mehr triggern dann macht der Prozessor auch einen Reset. Aber sag mal etwas genauer warum du das so brauchst. Gruss Helmi
also die sache ist die, ich schicke daten mit einem delphi programm,diese werden in der eeprom geschrieben,und ganz gewönlich mit die weiter gearbeitet.aber wenn ich die daten ändern will und wieder erneut ins eeprom schreiben möchte,muss ich immer wieder auf den knopf-reset(der sich drinnen in der platte befindet) drücken.und hier in der firma die meinen dass so was umständlich ist, und wollen dass die von der bedienoberfläche den restart bedienen können!!!....deswegen muss ich es programmieren!! hoffe dass ich mich gut ausgedrückt habe. Mfg mehdi
Schreibst du jetzt Daten oder ein neues Programm ins Eeprom ? Wenn es nur Daten sind dann brauchst du die doch nur an die betreffenden Variabeln zusaetzlich zu schicken und das wars dann. Wenn du jetzt aber ein neues Programm in dem Controller abspeichern willst dann ist das schon komplizierter. Gruss Helmi
hallo also die daten sind einfache variable,..wenn ich die wieder schicke,dann nimmt der microkontroller die nicht an,und arbeitet mit die alten weiter.nur wenn ich der µkontroller restarte,und neue variabele schicke,da arbeitet er mit die...so ist es !! und deswegen ich brauche einen befehl,mit dem ich der µkontroller restarten kann,ohne auf dem Reset-knopf zu drücken! danke für ihre hilfe Mfg mehdi
Wenn es einfach nur daten sind die du ihn schickst dann must du doch nur diese Daten in den richtigen Speicherstellen abladen und ab da muesste der Prozessor damit arbeiten. Aber lass mich raten du hast dafuer keinen Source-Code mehr. Wenn du den Sourcecode hast sollte es doch kein Problem sein die Stellen zu finden wo da im EEPROM abgespeichert wird und wo die Daten aus dem EEPROM ausgelesen werden. Dann brauchst du doch nur beim abspeichern der Daten ins EEPROM die doch nur gleichzeitig auch in diese Variabeln zu speichern. Gruss Helmi
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.