mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 8051er nimmt manche Programme nicht


Autor: Scales O.j. (scales)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich will einen AT89C51ED2 programmieren,
das Programm wird erfolgreich compiliert und funktioniert im Simulator

FLIP kann auch eine Verbindung zum Microcontroller herstellen,
er kann ihn löschen und andere Programme draufschreiben

aber immerwieder gibt es bei manchen Programmen Probleme,
die Verbindung wird hergestellt, aber sobald ich programmieren drücke
kommt ein Timeout Error

das komische ist dass es definitiv an dem Programm liegen muss,
mit manchen geht es immer und mit den anderen nie, egal wie oft ichs
versuch

ich hab schon verschiedene Microcontroller (alle der gleiche Typ) und
Programmer probiert,
aber immer das Gleiche Ergebniss

compilieren tu ich mit asem-51 (bzw. mit einem IDE dafür: MIDE)


ich versteh nicht wo da das Problem ist,
eigentlich überprüft der Bootloader über den man das PRogramm schreibt
ja nichts,
also müsste man doch jedes einprogrammieren können

also hat vielleicht jemand ne Idee was dem Microcontroller, oder
vielleicht sogar Flip da nicht passen könnte?

Autor: Dieter Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> also hat vielleicht jemand ne Idee was dem Microcontroller, oder
> vielleicht sogar Flip da nicht passen könnte?

Vielleicht die vom Programm belegten Adressbereiche ?

Autor: Scales O.j. (scales)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also ganz kleine Programme gehen eigentlich immer,
also könnte das gut sein

aber eigentlich müsste der Bootloader das doch so reinschreiben dass es
passt,
und ein 100 Byte Programm müsste doch passen

also was soll ich dagegen machen?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was hasten fürn Quarz genommen ?

Wenns kein Standardwert ist, wie z.B. 11,0592MHz, dann mußte mal mit
der Baudrate runtergehen.


Peter

Autor: norad (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@scales

>aber immerwieder gibt es bei manchen Programmen Probleme,
>die Verbindung wird hergestellt, aber sobald ich programmieren drücke
>kommt ein Timeout Error.

Das Problem ist wenn Du in deinem P3 irgendwie verwndest oder P3
zurückgesetzt wurde.
D.h. beim ersten Verbinden kommt Timout error und beim zweiten mal
klappt es. Ist aber normal

norad

Autor: Scales O.j. (scales)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab nen 12 Mhz Quarz genommen (weis dass das ungünstig ist),
in meiner Anleitung stand 38400 Baud, dachte der Bootloader kann nichts
anderes,
deswegen hab ich das noch nicht ausprobiert


>Das Problem ist wenn Du in deinem P3 irgendwie verwndest oder P3
>zurückgesetzt wurde.
>D.h. beim ersten Verbinden kommt Timout error und beim zweiten mal
>klappt es. Ist aber normal

ich versteh nicht was das mit P3 zu tun haben soll,
in den kurzen Programmen funktionierts auch mit P3

auch wenn ichs öfter probier macht das keinen unterschied


ich probier jetzt mal ne niedrigere Baudrate,
immerhin hab ich auch ein ganz schön langes Verlängerungskabel dran

Autor: Scales O.j. (scales)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Baudrate war wirklich das Problem,
danke

Autor: norad (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
UPS!
Wer lesen kann ist klar im Vorteil.


Welche Flip Version verwendest DU??

Bei Flip 2.4.6 konnte ich gar keine Programme übertragen da ich einen
25 Mhz Quarz verwende und da ist die Baudrate nicht so günstig.

Atmel hat mir aber eine neu Datei geschickt (AtIsp.dll) die man in den
Ordner Bin Speichert.

Hab die Datei im Ahnhang beigefügt vielleicht hilfts.

norad

Autor: Scales O.j. (scales)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
frag mich was die da mit einer dll Datei groß ändern wollen,
das Problem liegt ja an der Hardware

ich hab jedenfalls 1.88, oder 1.8.8 keine Ahnung,
für Linux gibts keine neuere Version

aber bei mir funzts ja jetzt eh,
scheint an der Kabellänge gelegen zu haben

und die niedrige Baudrate stört nicht wirklich,
ob ich nun 1 Sekunde, oder 1,00irgendwas Sekunden wart ist mir relativ
egal

Autor: norad (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@scales

Kann ich es schmecken oder riechen,das Du mit Linux arbeitest!
Witzbold.
Dann ist die dll natürlich Quatsch.
In der dll wurde die Toleranz der Baudratenabweichung erweitert oder
geändert.

Auf jedenfall übertrage ich wieder mit 115200 Baud anstatt 4800Baud
das ist der Unterschied.

norad

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@norad

"In der dll wurde die Toleranz der Baudratenabweichung erweitert oder
geändert."


Ne, daran kann man nichts ändern.
Wenn die Bits falsch sind, dann sind se falsch.

Man kann höchstens Stop-Bit-Fehler ignorieren, d.h. es müssen dann nur
9 Bit anstatt alle 10 Bit stimmen.

Bzw. da ja nur ASCII übertragen wird, kann man auch noch das 8.
Datenbit ausmaskieren.

Diese Dirty-Hacks gehen aber nur in Empfangsrichtung MC -> PC.


Wenn aber der MC falsch empfängt, ists Essig.


Peter

Autor: Scales O.j. (scales)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Kann ich es schmecken oder riechen,das Du mit Linux arbeitest!
>Witzbold.

das war ja kein Vorwurf oder so,
ich hab bloß gesagt dass ich 1.88 hab weil du gefragt hast

und hätte ich nicht gesagt dass ich Linux benutz, wär gleich der
Ratschlag gekommen die neue Version zu nehmen


das mit der DLL war allgemein gemeint, windows zu benutzen wär auch
nicht das Problem gewesen

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.