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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 22 maja 2025, o 11:23


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 
    Autor Wiadomość
    PostNapisane: 17 maja 2018, o 20:21 
    Offline
    Nowy

    Dołączył(a): 16 maja 2017
    Posty: 20
    Pomógł: 0

    Witam,
    Mam problem z uruchomieniem modułu I2C2 w procesorze STM32F030CCT6. Korzystam z narzędzia CubeMx i bibliotek HAL. Problem polega na tym, iż moduł I2C2 (I2C2, a nie I2C1, to ważne) po inicjalizacji nie rusza - linia SDA zostaje podciągnięta pod VCC (i pozostaje w takim stanie), a linia SCL zostaje ściągnięta na stałe do masy. Problem nie zależy od częstotliwości I2C (obojętne, czy 100/400kHz). Kod inicjalizacyjny to standardowy kod generowany przez CubeMx:

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    W programie próbuję wpisać cokolwiek do PCF8563 w trybie pooling (wycinek kodu):
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Analizując datasheet natknąłem się na informację, iż I2C2 nie ma niezależnego zegara(jak I2C1), a taktowany jest bezpośrednio z PCLK.
    Obrazek

    U mnie PCLK wynosi 48MHz. W dalszej części dokumentacji są podane również kryteria, co do okresu :
    Obrazek
    Jednak korzystajac z podanych Tlow i Thigh (kolejno 4uS i 0,6uS), wychodzi, iż wszytskie podane warunki zostały spełnione. Częstotliwość taktowania w moim przypadku to 48MHz, więc okres to ok.20ns.

    Jeżeli chodzi o same piny SDA i SCL, to są one sprawne - w trybie normalnego wyjścia cyfrowego działają poprawnie. Na magistrali nie ma żadnego zwarcia, układy peryferyjne (w moim przypadku pamięć EEPROM M24C64 i PCF8563) są zlutowane poprawnie. Podciągnięcie do VCC przez rezystory 10k.
    Musi tu być problem z inicjalizacją, bo wcześniej testowałem ten sam scenariusz, ale z innym procesorem (również z rodziny F0) i I2C1 i wszytsko banglało. Bardzo proszę o pomoc :)



    Ostatnio edytowano 22 maja 2018, o 21:18 przez sputnik, łącznie edytowano 3 razy

    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: 1 ] 

    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:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO