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