PIC 12F629 a EEPROM

Miroslav Draxal evik na volny.cz
Pátek Srpen 1 21:56:11 CEST 2014


Jen jsem to projel narychlo, nemá tam na konci být
if (pos>=128)
	pos=0;
else
     pos++;


Míra.

-----Original Message-----
From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of iko
Sent: Friday, August 01, 2014 4:08 PM
To: HW-news
Subject: PIC 12F629 a EEPROM

Zdravim,

bojujem tu s funkciou na PIC (konkretne 12F629). Jej funkcia ma byt pocitat
udalost a to tak, ze nezapisuje stale na jedno miesto, ale vzdy dalej a
dalej.
Funkcia by mala robit to, ze najde najvyssiu hodnotu v EEPROM (16bitova
hodnota), zvysi o jednu a zapise na dalsiu poziciu v EEPROM (cize +2 bajty),
ak je na konci, tak od zaciatku.
Vycitanie poctu udalosti spociva v najdeni najvyssej hodnoty.

ALE nefunguje mi to. Nevidite tam nejaky problem? Mam len PicKit2 a nejak mi
odmieta MPLABX debugovat, ze potrebujem nejaku vec na to.

void zvys_pocet() {
     uint16_t X;
     uint8_t pos = 0;
     uint16_t max = 0;

     for (uint8_t i=0; i<128; i+=2) {
         X = MAKEINT(eeprom_read(i), eeprom_read(i+1));
         if (X==0xFFFF) X=0;
         if (X>max) {
             pos = i+2;
             max = X;
         }
     }
     if (pos>=128) pos=0;
     max++;

     eeprom_write(pos, HIGHBYTE(max));
     eeprom_write(pos+1, LOWBYTE(max));
}

Vdaka,
iko

--
Táto správa neobsahuje vírusy, pretože nepoužívam MS Windows.


_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list