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.
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:
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?
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