Witam,
muszę to napisać i poprosić o radę, ponieważ już wysiadają moje nerwy przy konfiguracji tych magistral.
Odnośnie I2C:
Skonfigurowałem I2C1 i I2C2 tak jak jest to w książce "STM32 w praktyce":
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Funkcja do wysyłania wysyła dane z I2C1 do I2C2 i wygląda następująco:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
No i wszystko działa jak ma działać oto przebieg z analizatora stanów logicznych przedstawiający wywołanie funkcji I2C_Write() dwa razy:
Natomiast kiedy do linii podpinam układ PCF8574 bądź "Moduł z czujnikiem temperatury TMP102 I2C" i układy nie potwierdzają odbioru adresu i komunikacja zostaje przerwana. Przebieg dla komunikacji z czujnikiem temperatury wygląda wtedy tak:
Tutaj właśnie jest mój problem do do I2C niby wszystko jest dobrze skonfigurowane, ale nie mogę się porozumieć z innymi układami.
Adresy się zgadzają, częstotliwość też się zgadza jednak nikt nie chce potwierdzić ... Może w podłączeniu brakuje jakiś rezystorów podciagających, ponieważ podpinam to do STM32VL "na krótko" ale na przykładach zastosowań też jest to tak podłączone.
Więc moje pytanie jest co takiego jest w tym, źle, że to nie działa ?
Odnośnie SPI:
Bazując na konfiguracji I2C i książce "STM32 w praktyce" funkcja inicjalizująca moje SPI prezentuje się tak:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
SPI1 to master, a SPI2 to slave. Funkcja wysyłającą dane jest również zaczerpnięta z tej ksiązki i wygląda tak:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Niestety wywołanie tej funkcji hm.. po prostu nie daje nic, zresztą proszę zobaczyć na przebieg:
Każda modyfikacja funkcji wysłania nie daje skutku i nie mam pojęcia dlaczego.
Może macie jakieś rady albo pomysły ? Niestety ja już się mecze z tydzień i próbuję różnych sposobów i bibliotek jednak to nie daje skutku
Z góry dziekuję za pomoc