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 9 cze 2025, o 12:55


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
    Autor Wiadomość
    PostNapisane: 24 wrz 2014, o 19:18 
    Offline
    Nowy

    Dołączył(a): 24 wrz 2014
    Posty: 2
    Pomógł: 0

    Witam
    Jest to mój pierwszy post wiec witam i pozdrawiam wszystkich użytkowników.
    Dwa zdania o mnie: Nie programowałem mikrokontrolerów, od 20 lat piszę w VB(C++ mnie nie zainteresował z powodu wcześniejszego poznania Basic'a na ZX-Spectrum) i w tym kierunku poszedłem, oczywiście programowanie to tylko moje hobby. Znam środowisko eclipse - od 2 lat piszę aplikacje na androida w eclipse.
    Teraz konkrety.
    Zakupiłem LPC1769 LPCXpresso Board do wykorzystania w sterowaniu drukarki 3D która buduję. Wybrałem tą płytkę ze względu na możliwość dowolnego sterowania in/out.
    Na razie używam LPCXpresso(IDE), ale ze względu na ograniczenia docelowo przejdę na keplera.
    LPCXpresso Board ma wbudowany LPC-Link, już wiem, że nie będę mógł go używać z keplerem (chociaż znalazłem stronę, gdzie jest opisane, że po zainstalowaniu Procesor Expert, LPCXpresso(IDE) jest unlimited)
    Przeszedłem już blink led przy wykorzystaniu mbed, dodałem sterowanie wejściami i inne wyjścia(diody). Przy wykorzystaniu mbed jest to proste, bez grzebania w rejestrach timerach itd.
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język cpp
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Działało i się zepsuło, za dużo kombinowałem w workspace, za dużo bibliotek, wiec zainteresowałem się innymi przykładami - timery i ustawianie rejestrów.
    W przykładowym programie/timer i inicjacja jednego wyjścia/ wszystko działa ok. Mam pytanie co oznacza ten kod:
    Składnia: [ Pobierz ] [ Ukryj ]
    język cpp
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Z manuala wynika, że aby ustawić P0-22 na GPIO trzeba ustawić PINSEL1 bit 13 i 12.
    Konkretnie, co to oznacza (~(3 << 12))
    Moje domysły są takie, że wstawia od 12 bitu wartość 3 , czyli dwójkowo 11 - wiec ustawi 12 bit 1 i 13 bit 1.
    Jeżeli jest tak, to aby ustawić P0-22 i P0-23 jako GPIO (P0-23 to 14 i 15 bit w PINSEL1) to trzeba zrobić w ten sposób?
    Składnia: [ Pobierz ] [ Ukryj ]
    język cpp
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    15 to dwójkowo 1111, ustawi bity od 12 do 15?
    Trochę byłoby to skomplikowane, ustawiać w ten sposób wszystkie potrzebne wyjścia i wejścia( jeszcze mode).
    Proszę o odpowiedź/podpowiedź
    Przepraszam za długi post, następne będą krótsze.
    Pozdrawiam
    marekF



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 wrz 2014, o 20:21 
    Offline
    Uzytkownik zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 16 lip 2012
    Posty: 2088
    Lokalizacja: Leżajsk / Kraków
    Pomógł: 411

    marekF napisał(a):
    Konkretnie, co to oznacza (~(3 << 12))

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

    marekF napisał(a):
    15 to dwójkowo 1111, ustawi bity od 12 do 15?

    wyzeruje te bity
    marekF napisał(a):
    Trochę byłoby to skomplikowane, ustawiać w ten sposób wszystkie potrzebne wyjścia i wejścia( jeszcze mode).

    Zapoznaj się z przykładem lpc1769_blink_led z tej strony: http://www.freddiechopin.info/pl/downlo ... -przyklady
    Jest tam pokazane jak to elegancko zrobić.

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 wrz 2014, o 20:44 
    Offline
    Nowy

    Dołączył(a): 24 wrz 2014
    Posty: 2
    Pomógł: 0

    Super, dzięki za odpowiedź. Słyszałem o przesunięciu bitowym, teraz wiem jak to działa.
    Myślałem że ustawia 1, nie znałem negacji w C++. A w manualu jest napisane ustawić 00.
    Czy przesunięcie i wartość należy podać w systemie dziesiętnym, czy w hex?
    Stronę frediego znam.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 wrz 2014, o 20:55 
    Offline
    Uzytkownik zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 16 lip 2012
    Posty: 2088
    Lokalizacja: Leżajsk / Kraków
    Pomógł: 411

    marekF napisał(a):
    Czy przesunięcie i wartość należy podać w systemie dziesiętnym, czy w hex?

    tutaj jest w systemie dziesiętnym
    Wartości w hex poprzedza się 0x przykładowo:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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

    _________________
    Dragonus Cracovus: Biomagia



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

    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