infineon xc161

OP #980763
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 !!
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.
OP
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
OP
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
OP
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
OP
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.