Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 23 gru 2024, o 02:09


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 26 wrz 2014, o 12:43 
Offline
Nowy

Dołączył(a): 30 cze 2014
Posty: 10
Pomógł: 0

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":
Składnia: [ Pobierz ] [ Ukryj ]
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:
Składnia: [ Pobierz ] [ Ukryj ]
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:
Obrazek
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:
Obrazek

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:
Składnia: [ Pobierz ] [ Ukryj ]
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:
Składnia: [ Pobierz ] [ Ukryj ]
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:
Obrazek
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 :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 wrz 2014, o 18:50 
Offline
Nowy

Dołączył(a): 07 sie 2014
Posty: 6
Pomógł: 1

Normalnie powiedziałbym, ze brakuje rezystorów podciągających lub ich wartość jest za duża.

Nie miałem ST32 w ręce, ale z tego co znalazłem w internecie, to rezystory podciągające są. (http://harinadha.wordpress.com/2012/07/ ... m-mpu6050/)


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 wrz 2014, o 21:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sty 2013
Posty: 123
Lokalizacja: Warszawa
Pomógł: 10

A jak z napięciami zasilającymi układy?
PCF8574 ->5V, STM -> 3,3V ?
Rezystory podciągające raczej konieczne - ja zawsze daję 3k3 do +5V - chyba dolutowanie dwóch rezystorków nie jest problemem? :roll:
Oczywiście należy sprawdzić w datasheet czy akurat ten konkretny STM ma porty I2C 5V tolerant :-)


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 wrz 2014, o 09:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8589
Pomógł: 337

http://sun.crystalcraft.com.pl/wordpres ... ery-7-i2c/
spróbuj tak


Autor postu otrzymał pochwałę

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 paź 2014, o 00:51 
Offline
Nowy

Dołączył(a): 30 cze 2014
Posty: 10
Pomógł: 0

Co do I2C to faktycznie brakowalo rezystorow podciagajacych. Dziekuje, za pomoc. A teraz jest moze ktos kto powie mi co zlego dzieje się z spi ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO