16F84A: Ukládaní do paměti a záloha po vypnutí

Zdravím narazil jsem na další problem. Potrebuji ulozit cislo do paměti a pak ho i číst. Ale musi tam zustat i pri vypnutí napájení u pic 16f84a. Jak to mam zapsat v C.

Predem děkuji

:arrow_right: administrator: přejmenováno z "Ukladani do paměti"

Asi by bylo nejlepší použít EEPROM. V datasheetu máš popis registrů i příklad v assembleru. Asi by neměl být problém zapsat pár čísel do příslušných registrů pomocí C-čka, nebo to problém je ?

Pravě že to problem je. vubec neví jak stím pracovat . Stačil by mi nejaky jednoduchy přiklad

:arrow_right: administrator: příspěvek byl upraven
Předchozí příspěvky se necitují.

Assembler :

BCF INTCON, GIE ; Disable INTs. = Vynulování bitu v registru
BSF EECON1, WREN ; Enable Write = Nastavení bitu v registru

C :

INTCON&=~(1<<GIE); // Disable INTs. = Vynulování bitu v registru
EECON1|=(1<<WREN); // Enable Write = Nastavení bitu v registru

EEDATA=Promenna; // Uložení do EEDATA
Promenna=EEDATA; // Načtení z EEDATA
V assembleru jsou tam nějaký MOV??? (PICovskej assembler neovládám).

Tohle by mělo k nasměrování stačit.

84 ma jen eeprom , zapis neni tak jednoduchy , musi se zapsat urcita sekvence pandatron.cz/?156&skola_programovani_pic-12_dil

Vždyť jsem taky nepsal, že mu napíšu funkční kód. V datasheetu je program pro čtení, zápis a veriifikaci, jenže je to v assembleru. Já jsem jenom Veldovi napsal, jak se dělá zápis do registru a nastavení/reset bitu registru pomocí C-čka. Ostatní si musí podle datasheetu napsat sám. Myslím si, že pokud jsou v datasheetu kompletní ukázky v assembleru, tak přepsat to do C-čka už nebude takový problém. Na mně to zapůsobilo tak, že je línej si pro C-čko najít (případně se podívat do učebnice), jak se zapisuje do registrů. I přesto, když napsal, že potřebuje jenom jednoduchý příklad, napsal jsem mu příklad toho, co potřebuje v C-čku, aby to rozchodil (de-facto překlad z assembleru do C). Navíc jsem “citoval” části kódu z datasheetu Microchipu přímo z příkladů pro práci s EEPROMkou. To mu k nasměrování musí stačit. A pokud jsem se s tou leností spletl, pak mu to i stačí. Pokud očekává (jak se tady občas stává), že tu za něj vyřešíme domácí úkol, tak se plete…

U 16F690 a Hi.tech mi fungovalo toto

	eeprom_write(adresa, cislo);
	eeprom_read(adresa);

Jojo tahle funkce je na konece v programu mikroC

:arrow_right: administrator: příspěvek byl upraven
Předchozí příspěvky se necitují.