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? 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 15 lip 2025, o 01:14


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
    Autor Wiadomość
    PostNapisane: 1 lip 2017, o 21:53 
    Offline
    Użytkownik

    Dołączył(a): 27 sty 2015
    Posty: 61
    Pomógł: 0

    Witam
    Kolejny temat i kolejny problem, potrzebuje zrobić programową eliminację drgań styków. Wykorzystałem przykład z książki Paprockiego, ok super działa licznik.

    main.c
    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.


    i obsługa przerwań
    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.


    Natomiast w moim programie tekst, który powinien wyświetlić się po naciśnięciu przycisku wyświetla się od razu, chyba, że trzymam wciśnięty przycisk i zresetuje Nucleo. Wtedy tekst wyświetla się dopiero jak puszczę przycisk. Część kodu do obsługi przycisku jest taka sama, nie wiem, o co w tym chodzi. Podpowiedzcie mi gdzie mam błąd :D

    Mój kod main.c
    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.


    oraz obsługa przetwań
    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.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 lip 2017, o 10:10 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sty 2016
    Posty: 1174
    Lokalizacja: Kraków
    Pomógł: 94

    A przycisk masz podpięty tak jak w przykładzie? Z tego, co widzę, przycisk masz bez podciągnięcia wewnętrznego. Nie wiem, jak jest w nucleo, ale może spróbuj odwrócić reakcję na przycisk (dobrze widzę, jest na stan wysoki?) Spróbuj zmienić na reakcję na stan niski. O ile się nie mylę, w dwóch miejscach musisz poprawić, w funkcjach obsługi przerwań



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 lip 2017, o 13:28 
    Offline
    Użytkownik

    Dołączył(a): 27 sty 2015
    Posty: 61
    Pomógł: 0

    Zmieniłem wartości tak żeby wciśnięcie przycisku dawało 0, ale w tym przypadku wyświetla się napis "Test0" i dalej nie reaguje. Czasem samoczynnie po zostawieniu zestawu uruchomionego pojawiają się napisy "test1" i "test2". Co do podciągania znalazłem informacje, że robi się to, przy użyciu tej funkcji
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Tylko że w moim pliku stm32f10x_gpio.h tego nie widzę:
    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.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 lip 2017, o 22:44 
    Offline
    Użytkownik

    Dołączył(a): 29 lip 2014
    Posty: 195
    Pomógł: 44

    Witam,

    GPIO_Init(...) w STD Libs dla rodziny STM32F1xx jest trochę inne, niż dla tych nowszych uc. Jeśli potrzebujesz wejście z podciąganiem, to zamiast:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
    musisz użyć:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
    jeśli potrzebujesz podciągania do masy, albo
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
    jeśli potrzebne jest Ci podciąganie do Vcc.

    Pozdrawiam, QuadMan.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 lip 2017, o 16:36 
    Offline
    Użytkownik

    Dołączył(a): 27 sty 2015
    Posty: 61
    Pomógł: 0

    Dzięki zastosowałem podciąganie do Vcc i wszystko działa :D



    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 2 gości


    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