TWI i SPI w Atmega zaklocaja sie?

Mam następujący problem - w układzie na Atmega32 wykorzystuję sprzętowe SPI do komunikacji z kartą SD oraz TWI (I2C) do komunikacji ze światem zewnętrznym. SPI działa bez zarzutu do momentu kiedy odbiorę choćby 1 bajt przez TWI. Czy to możliwe, żeby oba te moduły na siebie wpływały? Korzystają przecież z innych rejestrów. Nie bardzo już wiem gdzie szukać.

Dariusz Żołna

Reply to
Dariusz Zolna
Loading thread data ...

Dariusz Zolna pisze:

Nigdy nie robiłem niczego na tym AVRze, więc może są jakieś błędy, o których nie wiem albo coś - ale generalnie NIE POWINNY się te dwa układy zakłócać... jedyne, co jest możliwe to wzajemne zakłócanie się sygnałów (przez pojemności, zwarcia itp) albo błędy w procedurze obsługi tych transmisji... Nie wiem, czy to SPI pracuje jako master, czy jako Slave itp... ale być może przy odbierze z TWI podmieniasz przez przypadek nie ten rejestr (sprawdź plik z definicjami nazw rejestrów - może tam jest jakiś błąd) albo nadpisujesz jakąś zmienną używaną później w procedurze obsługi SPI i stąd ten problem... nie wiem, czy masz JTAGa, żeby sprawdzić np. co się z tym SPI dzieje po odebraniu bajtu po TWI?? Czy się jakieś ustawienia nie kaszanią albo coś??

Pozdrawiam Konop

Reply to
Konop

Bogdan G pisze:

Szukam w kodzie już drugi dzień, przed chwilą zauważyłem, że czasem komunikacja z kartą SD po SPI dochodzi dalej niż innym razem, więc spróbuję poprawić jakość połączeń (w tym momencie mam prototyp na breadboard, nie mam tutaj możliwości wytrawienia płytki) i wtedy sprawdzę jeszcze raz.

Dariusz Żołna

Reply to
Dariusz Zolna

lwh pisze:

Już wszystko śmiga, problem tak jak myślałem leżał w kiepskiej jakości połączeń. Zmyliło mnie to, że SPI i TWI oddzielnie działały bez zarzutu. Breadboards suck!

Dariusz Żołna

Reply to
Dariusz Zolna

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.