Witam wszystkich Elektrodowiczów!
Potrzebuję podłączyć do uC NXP LPC117xx zewnętrzną pamięć EEPROM ATMELa AT24C256 po I2C do przechowywania pewnych danych.
Z tego co widzę, to NXP sugeruje, żeby wykorzystać przerwanie od I2C do celu wysyłania i odbierania danych po I2C. No i ok.
Zainicjalizowałem I2C w trybie Master Transmit Mode z bitratem 100 kbps. Wysyłam START i program wchodzi w przerwanie z wartością rejestru statusu 0x08, czyli jak w dokumentacji. Po czym kasuje bit STA i SI (też jak w dokumentacji) i już niestety nie udaje mi się ponownie wejść do przerwania z wartością rejestru statusu 0x18 (ACK odebrane od Slave'a). No i nie wiem co jest nie tak...
Potrzebuję podłączyć do uC NXP LPC117xx zewnętrzną pamięć EEPROM ATMELa AT24C256 po I2C do przechowywania pewnych danych.
Z tego co widzę, to NXP sugeruje, żeby wykorzystać przerwanie od I2C do celu wysyłania i odbierania danych po I2C. No i ok.
Zainicjalizowałem I2C w trybie Master Transmit Mode z bitratem 100 kbps. Wysyłam START i program wchodzi w przerwanie z wartością rejestru statusu 0x08, czyli jak w dokumentacji. Po czym kasuje bit STA i SI (też jak w dokumentacji) i już niestety nie udaje mi się ponownie wejść do przerwania z wartością rejestru statusu 0x18 (ACK odebrane od Slave'a). No i nie wiem co jest nie tak...
Kod: C / C++
Kod: C / C++