PIC 12F629 a EEPROM

iko iko.ikoon na gmail.com
Pátek Srpen 1 16:08:00 CEST 2014


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.




Další informace o konferenci Hw-list