Skocz do zawartości

[C] Komunikacja I2C - brak ACK od slave'a


kampo

Pomocna odpowiedź

Witam.

Od jakiegoś czasu próbuję nawiązać komunikację pomiędzy AtMega8 (slave) i AtMega128 (master) poprzez I2C, ale nie mogę tego uruchomić 🙁 SDA i SCL mam połączone, do tego na każdej linii jest rezystor 4k7 podłączony do Vcc (5V), obydwa mikrokontrolery są taktowane na 8MHz.

Wynalazłem jakieś takie biblioteki do mastera i slave'a.

Problem polega na tym, że po wysłaniu bitu start i adresu urządzenia slave, nie dostaję od niego bitu ACK, do tego przerwanie TWI w slave się nie uruchamia, więc slave żadnych danych raczej nie wyśle.

Master:

I2C_init();

while(1) {
I2C();

_delay_ms(500);
}

Slave:

I2C_init(0x10);

sei();

while(1) {
}

Nie wiem, jakie informacje się jeszcze przydadzą. Proszę o pomoc 🙂

Pozdrawiam.

Link do komentarza
Share on other sites

Dlatego że twoja wynaleziona biblioteka nie wspiera Atmegi128. Musisz ją przerobić.

3. Supported devices

Though I have only tested this library on an ATmega328P it should be running on all major ATmega AVRs like:

ATmega644

ATmega32

ATmega16

ATmega328/P

ATmega168/P

ATmega88/P

ATmega44/P

ATmega8

If your device is not supported you can probably adapt this library easily to your needs by having a look at the your device's datasheet and changing the register names appropriately

The ATtiny range of microcontrolles is not supported as they only provide a USI peripheral which is completely different from the TWI peripheral used on the other controllers

Link do komentarza
Share on other sites

Widziałem to, sprawdzałem datasheet od AtMegi128, w którym są przykłady kodu i nie znalazłem nic podejrzanego - nazwy rejestrów się zgadzają i ogólnie obsługa TWI.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.