Witam
Mam problem przy zapisie do eepromu wewnętrznego ATmegi32. Problem jest w tym, że podczas zapisu do eepromu uC się "gubi" a dokładnie "gubi" się przerwanie do obsługi klawiatury PC co praktycznie uniemożliwia poprawne odczytanie wciskanych na klawiaturze klawiszy. Jest to prawdopodobnie spowodowany dość długim czasem zapisu gdyż przy zapisie 5 bajtów nie ma żadnego problemu i klawiatura działa poprawnie. Natomiast przy zapisie już 20 bajtów uC przestaje poprawnie reagować na klawiaturę chociaż sam zapis do eepromu odbywa się prawidłowo.
Zapis do eepromu odbywa się w następujący sposób:
Próbowałem blokować przerwania na czas wykonywania zapisu do eepromu ale to nic nie daje. Próbowałem już na wiele sposobów i cały czas to samo i nie bardzo wiem czego mogę jeszcze spróbować. Za wszelkie sugestie z góry dziękuje.
Mam problem przy zapisie do eepromu wewnętrznego ATmegi32. Problem jest w tym, że podczas zapisu do eepromu uC się "gubi" a dokładnie "gubi" się przerwanie do obsługi klawiatury PC co praktycznie uniemożliwia poprawne odczytanie wciskanych na klawiaturze klawiszy. Jest to prawdopodobnie spowodowany dość długim czasem zapisu gdyż przy zapisie 5 bajtów nie ma żadnego problemu i klawiatura działa poprawnie. Natomiast przy zapisie już 20 bajtów uC przestaje poprawnie reagować na klawiaturę chociaż sam zapis do eepromu odbywa się prawidłowo.
Zapis do eepromu odbywa się w następujący sposób:
for(zp1=1;zp1<20;zp1++)
eeprom_write_byte ((unsigned char *)zp1, dane[zp1]);Próbowałem blokować przerwania na czas wykonywania zapisu do eepromu ale to nic nie daje. Próbowałem już na wiele sposobów i cały czas to samo i nie bardzo wiem czego mogę jeszcze spróbować. Za wszelkie sugestie z góry dziękuje.