Forum: Mikrocontroller und Digitale Elektronik ATTiny26 und ein Problem mit dem EEPROM


von Christian Worch (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute, ich bin Anfänger was den Tiny26 angeht. Ich soll ein
Programm schreiben das einen Sensor simulieren soll. Der Sensor soll an
eine Spannungsversorgung angeschlossen werden und über den ADC soll
erkannt werden ob an positiver oder negativen Spannung. Das Ergebniss
(Positiv oder negativ) soll dann in dem EEPROM geschrienen werden. an
die Adresse 0x02.

Dort soll dann für Pos: 0xFC
und für            Neg: 0xFE geschrieben werden.
Wenn dann die Spannung weggenommen wird, soll dann der Sensor erkennen,
ob er vorher pos. oder neg. war.

Jetzt zu meinem Problem:

Wenn ich das Programm über AVR Studio 4 Programmiere und im Debug
ausprobiere läuft alles genau so wie ich es will.
Aber sobald ich den Flash und den EEPROM auf den Tiny26 schreibe,über
das STK500, und dann direkt den EEPROM auslese, bekomme ich :

:10000000FFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFF03
:10001000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
:10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
:10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
:10004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
:10005000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0
:10006000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0
:10007000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90
:00000001FF

Ich habe den Chip noch nicht aus dem STK500 genommen. Die Schaltung
läuft noch nicht, aber ich hab dieses FC an der Adresse 0x02.

Dadurch läuft dann auch meine ganze Schaltung nicht, da der Sensor am
anfang feststellt ob er schon mal gestartet worden ist.

Ich hab keine Ideen mehr. Habe schon geglaubt das der Chip schon in dem
STK500 los läuft, und habe deshalt versucht mal zu schauen was mein ADC
so einliest, aber der liest nix ein. Glaube ich zumindest. Ich will den
Wert auf 0x05 im EEPROM schreiben. Aber wie man sieht steht an der
Stelle 0xFF.

Bitte um hilfe. mir fällt nichts mehr dazu ein was ich machen könnte.

Gruß Chris

von Hannes L. (hannes)


Lesenswert?

> Habe schon geglaubt das der Chip schon in dem
> STK500 los läuft, ...

Ja sicher, das ist doch selbstverständlich, dass das Programm sofort
nach dem Übertragen des Programms gestartet wird.

Vorschlag:
Wenn bestimmte Aktionen erst in der Zielschaltung ausgeführt werden
dürfen, dann bau doch dafür in der Resetroutine eine Portpinabfrage
(Jumper) ein, deren Bedingungen erst in der Zielschaltung erfüllt sind.
Somit bleibt das Programm in der Reset-Routine hängen, wenn der AVR
nicht in der Zielschaltung läuft.

...

von Christian Worch (Gast)


Lesenswert?

Danke für den super Tip. Das was der schupps der mich wieder in Bewegung
gebracht hat nachdem ich micht vollkommen festgefahren hatte. Habe jetzt
 in die RESET-Routine einen Power-on-Reset eingebaut.

Jetzt geht alles so wie es soll.

Also noch mal danke :-)

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.