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 30 maja 2025, o 10:00


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ] 
    Autor Wiadomość
    PostNapisane: 19 lut 2018, o 20:58 
    Offline
    Użytkownik

    Dołączył(a): 28 cze 2014
    Posty: 37
    Lokalizacja: Gdańsk
    Pomógł: 0

    Witam wszystkich ;)

    Zauważyłem, że sporo osób ma problem z obsługą LCD ze sterownikiem HD44780 na STM32. Szczególnie, jak pogodzić te poziomy napięć: STM32 – 3.3V, a LCD – 5V. Postanowiłem napisać bibliotekę, którą można znaleźć tutaj:

    - bez odczytem busy flag: https://github.com/embeddeddevpl/blog_r ... %232/STM32
    - z odczytem busy flag: https://github.com/embeddeddevpl/blog_r ... %233/STM32

    Wiem, można było zrobić jedną, uniwersalną z wykorzystaniem kompilacji warunkowej – jednak podział biblioteki na dwie oddzielne powoduje, że kod jest wg mnie trochę bardziej czytelny i łatwiejszy do ogarnięcia, szczególnie dla początkujących.

    A dla dociekliwych przygotowałem tutorial: http://www.embeddeddev.pl/obsluga-lcd-h ... owadzenie/ , gdzie starałem się wszystko opisać i rozwiać wszelkie wątpliwości, tak jak z przytoczonym 3v3 vs 5v. Co prawda implementacja jest pod STM32 z wykorzystaniem bibliotek SPL, ale przedstawione tam informacje mogą przydać się zarówno „HALowcom”, „CMSISowcom”, a nawet „AVRowcom” ;)

    _________________
    Zapraszam na bloga: http://www.embeddeddev.pl/



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 lut 2018, o 23:09 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 05 mar 2016
    Posty: 85
    Pomógł: 5

    można skasować moje bzdury

    _________________
    I'M



    Ostatnio edytowano 20 lut 2018, o 00:29 przez robertomic, łącznie edytowano 2 razy

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 lut 2018, o 23:53 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 15 lut 2017
    Posty: 368
    Lokalizacja: Gliwice
    Pomógł: 34

    robertomic napisał(a):
    coś się mi wydaje że nie potrzeba zasilać HD44780 5V, wtedy odpada jakaś tam translacja napięć .

    Nie za bardzo chyba poczytałeś co tam Kolega napisał. Wspominał co najmniej o kilku sposobach dopasowania napieć, również o specjalnych wersjach wyświetlaczy na 3.3V

    robertomic napisał(a):
    co do biblioteki mam pewne obawy jak jest napisana jak to puszcze w pętli głównej to mogą się dziać rożne dziwne rzeczy ,

    Tu również należałoby artykuł doczytać. Podano kilka sposobów oprogramowania od najprostszego blokującego do takiego z timerem i podwójnym buforowaniem.

    robertomic napisał(a):
    tym bardziej ze w arm często wykorzystuje się wielozadaniowość to nie avr gdzie chce się pomigać ledem . :)

    Zupełnie nie trafione porównanie, co ma generalnie piernik do wiatraka :)
    Na obu platformach można robić zaawansowane rzeczy, efekt zależy wyłącznie od programisty.

    robertomic napisał(a):
    Dlaczego nie wykorzystujesz przerwać choćby systicka ?


    A to jakiś przymus jest? Wykorzystany został jeden z timerów, zdecydowanie wystarcza, szczególnie, że zwykle każdy STM ma co najmniej kilka timerów do różnych zastosowań.

    Mam jakieś takie wrażenie, że Kolega robertomic to tak dla zasady się "przywalił" do tych artykułów.

    Wg mnie te kilka stron ciekawie jest napisanych, sporo wiedzy w pigułce i warto je przeczytać.
    Jedynie co mi zabrakło to standardowo zdarzeń i callbacków :) ale tu to tym razem sam się czepiam :)

    Nie mniej jednak Kolego Lagun_25 dzięki za podzielenie się swoją pracą, jeśii będzie potrzeba na pewno coś tam się znajdzie dla mnie. Ode mnie plusik.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 lut 2018, o 23:57 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27406
    Lokalizacja: Szczecin
    Pomógł: 1043

    robertomic napisał(a):
    coś się mi wydaje że nie potrzeba zasilać HD44780 5V,

    Masz rację "wydaje ci się" .... ;) przy typowym LCD i niższym napięciu zasilania NIC nie zobaczysz na LCD, chyba że zrobisz przetwornicę i podasz ujemne napięcie na wejście CONTRAST LCD ... wtedy tak - da się zobaczyć coś na LCD ;)

    robertomic napisał(a):
    co do biblioteki mam pewne obawy jak jest napisana

    zamiast mieć obawy - sprawdź zamiast domyślać się nie wiadomo jakich problemów .... będzie działać z powodzeniem. Czy można inaczej zrobić oczekiwanie na odczyt flagi BusyFlag ... pewnie, że można ... ale to się robi dopiero wtedy gdy taki sposób rzeczywiście w czymś by przeszkodził.

    ------------------------ [ Dodano po: kilkunastu sekundach ]

    Zealota napisał(a):
    Mam jakieś takie wrażenie, że Kolega robertomic to tak dla zasady się "przywalił" do tych artykułów.

    hahahaha kolega Zelaota pierwszy zauważył pewną tendencję - dziwną zresztą ... no ale niektórzy jak kolega robertomic tak lubią przewidywać bez sprawdzenia

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lut 2018, o 00:26 
    Offline
    Użytkownik

    Dołączył(a): 28 cze 2014
    Posty: 37
    Lokalizacja: Gdańsk
    Pomógł: 0

    HD44780 nie trzeba zasilać 5V (z tego co piszą w nocie wystarczy 2.7v), ale wyświetlacz zazwyczaj tak, a na PCB poprowadzone jest wspólne zasilanie... Napięcie 3v3 wystarczy w przypadku, gdy z tyłu wyświetlacza wlutowany jest przetwornica ICL7660 do generowania ujemnego napięcia do kontrastu. Tylko tym różnią się wersje wyświetlaczy 5v od 3.3v. Ale takich rzeczy już we wpisie nie poruszałem, bo jest on przeznaczony dla osób początkujących. Po co jeszcze bardziej im to komplikować?

    Co do dalszej części, możesz rozwinąć swoje obawy? Dlaczego mogą się dziać "dziwne rzeczy"? Czym różni się to od przypadku w AVR? Wielozadaniowość i wystrzaganie się wprowadzania opóźnień powinno być zarówno przy programowaniu ARM jak i AVR. Pomijając fakt, że taka obsługa w wielu wypadkach jest wystarczająca, to w ostatniej części, po opanowaniu podstaw, zainteresowanych zachęcałem do przeczytania jeszcze wpisu na temat buforowania LCD: http://www.embeddeddev.pl/buforowanie-lcd/, gdzie przedstawiłem sposób całkowicie nieblokującej obsługi sterownika. Oczywiście można w tym celu także wykorzystać przerwanie od timera, nawet tam o tym wspomniałem :D Sposobów można mnożyć i mnożyć :) Jednak w tej serii nie to było celem. Jak może zauważyłeś opisywałem tam podstawy, jak np. znaczenie poszczególnych pinów - jest to więc seria skierowana do osób, które zaczynają zabawę z tymi wyświetlaczami.

    _________________
    Zapraszam na bloga: http://www.embeddeddev.pl/



    Ostatnio edytowano 20 lut 2018, o 10:31 przez Lagun_25, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lut 2018, o 00:28 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 05 mar 2016
    Posty: 85
    Pomógł: 5

    przyznaje się nie wczytałem się w treść dokładnie , przejrzałem pobieżnie tylko nagłówki.
    :) :(

    _________________
    I'M



    Ostatnio edytowano 20 lut 2018, o 00:32 przez robertomic, łącznie edytowano 2 razy

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lut 2018, o 00:31 
    Offline
    Użytkownik

    Dołączył(a): 28 cze 2014
    Posty: 37
    Lokalizacja: Gdańsk
    Pomógł: 0

    O, widzę, że Panowie mnie wyprzedzili z odpowiedzią :D Zealota, dzięki za miłe słowa, cieszę się, że może się przydać ;)

    _________________
    Zapraszam na bloga: http://www.embeddeddev.pl/



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lut 2018, o 10:05 
    Offline
    Użytkownik

    Dołączył(a): 23 sty 2014
    Posty: 1085
    Pomógł: 73

    Witam,
    świetny blog kolego :) właśnie zaczynam przygodę z STM32, takie podstawowe informację sa bardzo przydatne :)
    I widzę że kolega porusza temat freeRTOS-a, fantastycznie :)
    Dzięki za podzielenie wiedzą :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lut 2018, o 10:41 
    Offline
    Użytkownik

    Dołączył(a): 06 maja 2016
    Posty: 28
    Pomógł: 2

    Bardzo przyjemny poradnik, fajny blog. Dużo treści mało lania wody. Tylko tak dalej.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lut 2018, o 16:31 
    Offline
    Użytkownik

    Dołączył(a): 28 cze 2014
    Posty: 37
    Lokalizacja: Gdańsk
    Pomógł: 0

    Dzięki chłopaki :) Fajnie, że się podoba i się przyda. Jarecki, co do freeRTOS to podejrzewałem, że może wzbudzić zainteresowanie. Sam jakiś czas temu zaczynałem z nim zabawę i wydaje mi się, że brakuje takiego przewodnika - dlatego postanowiłem go stworzyć :) Niestety całość będzie pojawiała się stopniowo i jeszcze przez długi czas, więc trzeba będzie uzbroić się w cierpliwość.

    _________________
    Zapraszam na bloga: http://www.embeddeddev.pl/



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lut 2018, o 18:39 
    Offline
    Użytkownik

    Dołączył(a): 23 sty 2014
    Posty: 1085
    Pomógł: 73

    Lagun_25 napisał(a):
    Dzięki chłopaki :) Fajnie, że się podoba i się przyda. Jarecki, co do freeRTOS to podejrzewałem, że może wzbudzić zainteresowanie. Sam jakiś czas temu zaczynałem z nim zabawę i wydaje mi się, że brakuje takiego przewodnika - dlatego postanowiłem go stworzyć :) Niestety całość będzie pojawiała się stopniowo i jeszcze przez długi czas, więc trzeba będzie uzbroić się w cierpliwość.


    Oj wzbudza zainteresowanie, wzbudza :) wielu moich znajomych zajmujących się mikrokontrolerami zgłębia tajniki RTOS-a :) Z tego co zdążyłem się zorientować, to nie sztuką jest zrozumieć co to są taski, semafory, kolejki tylko zbudowanie na bazie tej wiedzy programu, w którym jest dobra i sensowana komunikacja między taskami :) Ale na razie raczkuję w tym temacie :)

    A na Twoim blogu przeczytałem wszystkie tematy i sa bardzo ciekawe, pisane zwięźle i widać że taki porządek ogólnie panuje w tresciach :) Kawał dobrej roboty :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lut 2018, o 09:33 
    Offline
    Użytkownik

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

    osobiście używam czesto HD44780 z STM32 zasilanych 5V bez translacji napięć , korzystając z pinów 5V Tolerant
    co bardzo ułatwia życie :)

    _________________
    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: 21 lut 2018, o 10:11 
    Offline
    Użytkownik

    Dołączył(a): 28 cze 2014
    Posty: 37
    Lokalizacja: Gdańsk
    Pomógł: 0

    Tylko w prototypach czy końcowych urządzeniach także? :) o ile dobrze wiem, to są tam tylko diody zabezpieczające i jakoś nigdy im na tyle nie ufałem (może niepotrzebnie), żeby polecić takie rozwiązanie na blogu.

    _________________
    Zapraszam na bloga: http://www.embeddeddev.pl/



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lut 2018, o 18:53 
    Offline
    Użytkownik

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

    wiesz zarówno w proto , jak i urządzeniach finalnych ... oczywiście zabezpieczam się w banalny sposób gdyż
    wymuszam na LCD tryb tylko zapisu do .... RW = GND , a piny 5V tolerant myslisz że w jakim celu robią ??
    jest spora liczba urządzeń w tym LCD , Termometry itd ... które pracują na napięciu 5V a jakoś trzeba je do procka podłaczyć
    i naprawdę nic mu się nie stanie bo właśnie w takim celu są :)

    _________________
    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: 21 lut 2018, o 19:33 
    Offline
    Użytkownik

    Dołączył(a): 28 cze 2014
    Posty: 37
    Lokalizacja: Gdańsk
    Pomógł: 0

    W takim wypadku jasne, nie ma potrzeby translacji, nawet taki sposób podałem na blogu. Myślałem, że miał Pan na myśli komunikację dwukierunkową z wykorzystaniem pinów 5v tolerant :) Dzięki za odpowiedź, teraz będę chętniej wykorzystywał te piny z tolerancją :)

    _________________
    Zapraszam na bloga: http://www.embeddeddev.pl/



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lut 2018, o 20:37 
    Offline
    Użytkownik

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

    Lagun_25 napisał(a):
    Myślałem, że miał Pan na myśli komunikację dwukierunkową z wykorzystaniem pinów 5v tolerant


    w przypadku HD44780 widzisz sens odczytu z z wyświetlacza ?? czy KS108 bo ja nie ... wysyłam tylko dane które ma wyświetlać :)

    _________________
    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: 21 lut 2018, o 20:56 
    Offline
    Użytkownik

    Dołączył(a): 28 cze 2014
    Posty: 37
    Lokalizacja: Gdańsk
    Pomógł: 0

    Przez komunikację dwukierunkową miałem na myśli obsługę z odczytem flagi zajętości. Z HD44780 nigdy nie miałem takiej potrzeby, ale gdzieś się spotkałem, że w przypadku małych wyświetlaczy, np. 2x16 pozostała pamięć DDRAM była wykorzystywana do zapisu i odczytu.

    _________________
    Zapraszam na bloga: http://www.embeddeddev.pl/



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO