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