www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik infineon xc161


Autor: Meh H. (mehdi82)
Datum:

Bewertung
0 lesenswert
nicht 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 !!

Autor: Steven () (ovular) Benutzerseite
Datum:

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

MfG Steven

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Meh H. (mehdi82)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Meh H. (mehdi82)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Meh H. (mehdi82)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Meh H. (mehdi82)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.