Witam
Mam podłączony uC ATmega 328P z pamięcią EEPROM AT24C32.
uC Taktowany jest zewnętrznym kwarcem 20MHz a jak wynika z not katalogowych AT24C32 max częstotliwość szyny SC (TWI) musi być 400kHz.
Częstotliwość zmniejszam przez ustawienie preskalera:
Teoretycznie działa ale w swoim kodze sprawdzam czy na każdy wysyłany sygnał układ AT24C32 wysyła sygnał ACK.
Problem jest tego typu że:
Jak taktuje uC wewnętrznym zegarem 8MHz to EEPROM zawsze odsyłał prawidłowe ACK i prawidłowe dane.
Jak taktuje uC kwarcem 20MHz i mam ustawiony preskaler jw. to mam błędy odpowiedzi ACK ale dane odczytywane z EEPROM-u są prawidłowe.
W czym leży problem
Czy preskaler jest prawidłowo ustawiony bo z moich wyliczeń częstotliwość szyny SC wynosi około 350kHz 
Mam podłączony uC ATmega 328P z pamięcią EEPROM AT24C32.
uC Taktowany jest zewnętrznym kwarcem 20MHz a jak wynika z not katalogowych AT24C32 max częstotliwość szyny SC (TWI) musi być 400kHz.
Częstotliwość zmniejszam przez ustawienie preskalera:
TWSR = (1<<TWPS0);
TWBR = (1<<TWBR2)|(1<<TWBR0);Teoretycznie działa ale w swoim kodze sprawdzam czy na każdy wysyłany sygnał układ AT24C32 wysyła sygnał ACK.
Problem jest tego typu że:
Jak taktuje uC wewnętrznym zegarem 8MHz to EEPROM zawsze odsyłał prawidłowe ACK i prawidłowe dane.
Jak taktuje uC kwarcem 20MHz i mam ustawiony preskaler jw. to mam błędy odpowiedzi ACK ale dane odczytywane z EEPROM-u są prawidłowe.
W czym leży problem