Dziękuję.
A jak poradziłeś sobie z zapisem i odczytem c512? Zapis zrobiłem tak:
Kod:
void mem_write_reg(u16 reg, u8 value)
{
u8 buffer[3]; //buffer
buffer[0]=reg/256; //adres rejestru - starsza część
buffer[1]=reg%256; //adres rejestru - młodsza część
buffer[2]=value; //dane
twic_write_buf(mem_ADDR, buffer, 3); //wysylanie bufora do C512
}
Dobrze?
Z napisaniem procedury odczytu dla adresu 16 bitowego mam problem....
Edit:
Piszę i czytam C512. Praktycznie czytam od adresu '0' co jeden..
Problem podczas zapisu - adres rejestru działa wg wzoru:
adres rejestru=1+4*k gdzie k=0,1,2,3,4.. Taki 'myk' zapewnia zapisywanie do kolejnych komórek pamięci.
Nie wiem czego nie zrozumiałem, ale nie chcę budować żadnych 'protez' w programie. Jak to zrobić dobrze?