Zdravím
Mam zase problem se čtením z EEPROM. at čtu z jakekoliv adresy vždy se mi na EEDATA objeví poslední zapis s hodnotou 10.
Neví nekdo včem je chyba. Jedna se o PIC16f628a
[code]int pam;
void write(char adr, long dat){
EEADR = adr;
EEDATA = dat;
INTCON.GIE = 0;
EECON1.WREN = 1;
EECON2 = 85;
EECON2 = 170;
EECON1.WR = 1;
INTCON.GIE = 1;
EECON1.WR = 0;
EECON1.WREN = 0;
}
float read(char adr){
EEADR = adr;
EECON1.RD =0;
pam = eedata;
return(pam);
}
void main() {
TRISA = 0b00000000;
PORTA = 0b00000000;
TRISB = 0b11110000;
PORTB = 0b00000000;
CMCON = 0b00000111;
write(0x00,31);
write(0x01,21);
write(0x02,10);
while(1){
if (PORTB.B4){
porta = read(0x00);
}else{
porta = read(0x01);
}
/porta = read(0x02);/
}
}[/code]
administrator: přejmenováno z "čtení z eeprom"