Probleme mit internem EEPROM

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 18 4 2024  09:41:37      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte


Autor
Probleme mit internem EEPROM

    







BID = 78680

baggerfan

Gerade angekommen


Beiträge: 12
Wohnort: bei Ulm
Zur Homepage von baggerfan
 

  


Hallo, bin gerade am verzweifeln. Habe mir einen Betriebsstundenzähler auf PIC16F818-Basis pojektiert. Der Secundentakt wird mittels eines externen 32,7kHz Quarz über Timer2 erzeugt. Es wird jede Secunde ein Interrupt ausgelöst, der die nötigen Zählregister bearbeitet. Soweit funktioniert das auch, allerdings will ich die aktuellen Zählerstände im internen EEPROM zwischenspeichern, so bleibt der PIC bei der Schreib-Routine (feste Befehlssequenz nach Microchip) für das EEPROM hängen. Es sind genau nach Vorschrift von Microchip alle Interrupts zu diesem Zeitpunkt gesperrt, die richtigen Pages angewählt und das Ding tut einfach nicht. Kann mir da jemand noch weiterhelfen?

Gruß
Andy

BID = 78704

Benedikt

Inventar

Beiträge: 6241

 

  

Dir ist klar, dass die Schaltung eine Lebensdauer von < 1 Monat hat ?

Wenn du jede Sekunde das EEPROM beschreibst, hält es nicht lang.
Denk dir also was bessers aus !

BID = 78886

baggerfan

Gerade angekommen


Beiträge: 12
Wohnort: bei Ulm
Zur Homepage von baggerfan

vielen Dank Benedikt,
sehr schlaue Info, aber das weiß ich auch. Ich wollte auch keinen Tip wie oft man auf ein EEPROM schreiben kann bevor es über den Jordan geht, sondern es geht um das Problem EEPROM beschreiben selbst - also die Software die den Schreibvorgang regelt - egal ob einmal im Jahr geschrieben wird oder jede Secunde. jetzt kapiert?

andy

BID = 78901

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach


Zitat :
Ich wollte auch keinen Tip wie oft man auf ein EEPROM schreiben kann bevor es über den Jordan geht, sondern es geht um das Problem EEPROM beschreiben selbst - also die Software die den Schreibvorgang regelt - egal ob einmal im Jahr geschrieben wird oder jede Secunde. jetzt kapiert?

Prima, diesen Ton lieben wir. Da kommen wenigstens keine Mißverständnisse auf.

1) Der Schreibvorgang wird von Hardware gesteuert.
2) Die erforderlichen Software Befehle stehen in den entsprechenden Manuals und funktionieren auch so.

_________________
Haftungsausschluß:



Bei obigem Beitrag handelt es sich um meine private Meinung.



Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.



Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !

BID = 78907

baggerfan

Gerade angekommen


Beiträge: 12
Wohnort: bei Ulm
Zur Homepage von baggerfan

hi perl,
super Ratschlag. Haste eigendlich oben meine Frage mal richtig durchgelesen? Da hab ich doch bereits verkündet, daß ich die vorgegebenen Befehlssequenzen verwende und es trotzdem zu Problemen kommt. DAS ISSES LEUTE. Ich will Rat weil es eben nicht erkenntlich ist wo der Fehler steckt. Also erzählt mir bitte nicht ich solle die vorgegebenen Befehlssequenzen aus den Handbüchern verwenden.Ich will das Wissen, das nicht in den Handbüchern steht. Also strengt Euch an.

andy

BID = 78908

sam2

Urgestein



Beiträge: 35330
Wohnort: Franken (bairisch besetzte Zone)

Hallo Andy,

aber sonst geht´s Dir danke???

Bei soviel überschäumender Freundlichket fällt mir doch nur noch ein: DAS WAR´S, ANDY!

Geh´ besser wieder baggern...


kopfschüttelnder Gruß,
sam2



_________________
"Das Gerät habe ich vor soundsoviel Jahren bei Ihnen gekauft! Immer ist es gegangen, immer. Aber seit gestern früh geht es plötzlich nicht mehr. Sagen Sie mal, DA STIMMT DOCH WAS NICHT???"

BID = 78965

Jornbyte

Moderator



Beiträge: 7074

Leute, Ruhe bewahren !!

Andy poste doch mal deinen Code, vielleicht haste da etwas übersehen oder nicht beachtet. Die PIC-Gemeinschaft wird da sicher helfen können wenn deine Zuarbeit etwas besser ist.


_________________
mfg Jornbyte

Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten.

BID = 78982

baggerfan

Gerade angekommen


Beiträge: 12
Wohnort: bei Ulm
Zur Homepage von baggerfan

hi jornbyte,
tut mir leid wenn das was ich geschrieben habe erwas hart klinkt. aber ich glaube du wirst mir zustimmen daß wenn ich die frage hier stelle, "es klappt nicht obwohl ich das tue was in den handbüchern steht" - die antwort bekomme, "mach das was in den handbüchern steht" mir ziehmlich verarscht vorkomme. denn bis jetzt hat mich noch keiner gefragt - haste das oder jenes schon beachtet oder brobiert. ich beschäftige mich mit uc's seit einigen jahren, also bin da kein unbeschriebenes blatt. aber schwamm drüber. hab das problem inzwischen in den griff bekommen. durch einen schrittweisen neu-aufbau des codes ging die sache dann. kann aber nicht genau sagen an was daß es gelegen hat. kann es sein daß unterroutinen die über einen call-befehl angesprungen wurden nur 8-zeichen lang sein dürfen? wäre die einzige erklärung, denn das hab ich geändert.

grüße
andy

BID = 79013

tixiv

Schreibmaschine



Beiträge: 1492
Wohnort: Gelsenkirchen

Unterroutinen dürfen beliebig lang sein - wie kommst Du darauf, das sie nur 8 Zeichen lang sein dürfen?
Wenn nen call ausgeführt wird, dann wird die Rücksprungadresse auf den Stack gelegt, und zu der Unterroutine gesprungen. Wenn man den Stack nicht verwurschtelt, dann kann man dort machen was man will. Bei nem ret wird dann eben zur Adresse, die oben auf dem Stack liegt zurück gesprungen. (vielleicht ein push/pop zuviel??)

Aber Du wirst ja sicherlich auch verstehen, dass Dir keiner bei Code helfen kann, von dem Du sagst er ist richtig, funktioniert aber nicht, und sehen darf man ihn auch nicht.
Die Befehlssequenz zum schreiben des eeproms scheint ja doch zu funktionieren, also liegt doch der Fehler eindeutig an einer Mir unbekannen Stelle Deines ersten Programms.

BID = 79077

baggerfan

Gerade angekommen


Beiträge: 12
Wohnort: bei Ulm
Zur Homepage von baggerfan

hi tixiv,
das mit den 8 buchstaben hat sich nicht auf die unterroutine selbst, sondern auf deren namen bezogen - sorry hab ich falsch geschrieben. ist mir halt aufgefallen, nachdem ich mir ein testprogramm geschrieben habe, in dem eben nur die routine für das eeprom läuft - und sonst nichts. komischerweise ging das beschreiben des eeproms genausoweinig. also konnten es auch keine interrups sein die dazwischenfunken (zumal die beim eigendlichen schreibvorgang sowiso deaktiviert sind).da ich schon mal probleme mit dem mplap selbst hatte, kopierte ich eine etwas ältere aber identische routine für das eeprom aus einem anderen programm ins testprogramm. sieha da, es lief alles bestens. als ich hierfür eine erklärung suchte, fand ich als einzigen unterschied den namen der routine. wenn also die namesgebung und auch die länge der namen nichts damit zu tun hat, weiß ich es auch noch nicht wo der fehler gelegen hat. denn auch das programm für den betriebsstundenzähler läuft jetzt reibungslos. habe auch hier nur die ältere routine einkopiert, und den namen geändert. aber wenn du dir die mühe machen willst kannst du natürlich gerne den code einsehen, das ist ja kein geheimnis. wenn du willst schick ich ihn dir. blos bis jetzt hat mich - außer dir und dem kolegen vor dir - noch keiner drauf angesprochen, daß er sich mal mit dem code beschäftigen würde. alos machs gut - bis dann.

BID = 79091

tixiv

Schreibmaschine



Beiträge: 1492
Wohnort: Gelsenkirchen

Achso. Also ich hab jetzt schon was länger nix mit dem Mplab gemacht, also weiss ich nicht, wie das da mit den Namen vom Einsprungpunkt funktioniert. Naja, aber wenns daran liegt, dann wird da wohl nen Bug drinn sein.
Ne, das Problem ist ja jetzt gelöst, da baruch ich Mir den Code nicht anzusehen. Aber hilfreich ist das schon, den gleich zu posten, wenn man Hilfe sucht.


Zurück zur Seite 0 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 24 Beiträge im Durchschnitt pro Tag       heute wurden bisher 2 Beiträge verfasst
© x sparkkelsputz        Besucher : 180916905   Heute : 1800    Gestern : 9237    Online : 703        18.4.2024    9:41
6 Besucher in den letzten 60 Sekunden        alle 10.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0266921520233