Forum: Mikrocontroller und Digitale Elektronik infineon xc161


von Meh H. (mehdi82)


Lesenswert?

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 !!

von Steven (. (ovular) Benutzerseite


Lesenswert?

Wenn ich das jetzt richtig verstanden habe:
Sie mal nach, ob Du das Stop-Bit richtig erkennst und alle Einstellungen 
stimmen.

MfG Steven

von Helmut L. (helmi1)


Lesenswert?

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.

von Meh H. (mehdi82)


Lesenswert?

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

von Helmut L. (helmi1)


Lesenswert?

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

von Meh H. (mehdi82)


Lesenswert?

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

von Helmut L. (helmi1)


Lesenswert?

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

von Meh H. (mehdi82)


Lesenswert?

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

von Helmut L. (helmi1)


Lesenswert?

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

von Meh H. (mehdi82)


Lesenswert?

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

von Helmut L. (helmi1)


Lesenswert?

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