Tym razem w odpowiedzi na wiele pytań drogą mailową i nie tylko, chciałbym pokazać kolejne zalety środowiska programistycznego ECLIPSE w porównaniu do innych. Bardzo często wiele osób chcąc na przykład wpisać nazwę wektora jakiegoś przerwania zaczyna zastanawiać się jaka może być nazwa tego wektora dla makra ISR() ???? Zaczynają się wtedy poszukiwania w internecie, na forach, na blogach, w poradnikach itp. Tymczasem rzadko kto sięga na swój własny dysk twardy a na nim ma wszystko pod nosem, wystarczy tylko pogrzebać w folderach gdzie zainstalowany jest kompilator WinAVR. Za to mając Eclipse, nie musimy nawet tego grzebania stosować ;) ..... wszystko umożliwi nam sam Eclips, poniżej.... (na dole UPDATE artykułu - zajrzyj)
niedziela, 18 marca 2012
czwartek, 15 marca 2012
ECLIPSE - jak zmienić autora kodów źródłowych ?
Pewnie nie raz wielu ludzi rozpoczynających przygodę z Eclipse, nie mogło a czasem do dzisiaj nie może doszukać się opcji gdzie zmienia się nazwę czy też imię i nazwisko autora, kodów źródłowych, który jest automatycznie wstawiany razem z datą do nowo tworzonych nagłówków w postaci komentarzy gdy używamy kreatora plików *.C lub *.H. Powiem więcej, ja używam Eclipse od dawna a często sam łapię się na tym, że gdy mam doszukać się tej opcji to załamuję ręce, że znowu od początku muszę to sobie przypominać ;) (skleroza nie boli jak mówią) .... i doszukać się w gąszczu milarda opcji tej jednej konkretnej. Postanowiłem położyć temu kres! No może nie mojej sklerozie ale żeby na drugi raz po doszukaniu się tej opcji przed chwilą, nie narażać się już na taki stres - postanowiłem także dla siebie zrobić taki prosty poradnik jak tego dokonać. Poniżej znajduje się odpowiedź na to odwieczne pytanie, tak żeby każdy (nie tylko ja mógł sobie z tym poradzić w 5 sekund ;)
poniedziałek, 12 marca 2012
TYLDA ~~ koniec problemów
Jeśli denerwuje cię zachowanie się klawiatury gdy potrzebujesz wpisać znak TYLDY, gdy doprowadza cię do szewskiej pasji gdy pojawia się ona po dwukrotnym kliknięciu tego znaku, gdy po próbie skasowania jednej z nich nagle kasują się obydwie, gdy zaczynasz wyrywać już sobie włosy z głowy lub rozwalać klawiaturę albo monitor ..... wtedy zajrzyj tutaj - kliknij link "czytaj więcej", zapewniam cię, że ukoi to twoje skołatane nerwy:
poniedziałek, 27 lutego 2012
LCD HD44870 - WARSTWY - EFEKTY
Witam,
chciałbym zaprezentować dzisiaj wstępną prezentację mojego podejścia do obsługi standardowych i dobrze znanych wszystkim wyświetlaczy alfanumerycznych LCD opartych o sterownik HD44780. Każdy chyba zna te wyświetlacze, każdy wie już chyba o nich wszystko, jednak bywa, że często mamy wiele problemów z ich użytkowaniem we własnych programach w mikrokontrolerach. Oczywiście nie mówię tu o aplikacjach, które po prostu wyświetlają non stop na ekranie to samo np datę, godzinę i temperaturę, bo realizacja takiego celu jest tak banalna, że aż szkoda byłoby poświęcać czas na jej opisywanie. Za to często na forach internetowych ale także w mailach do mnie spotykam się z pytaniami typu: "Jak zrobić proste MENU" na wyświetlaczu alfanumerczynym LCD. Moim zdaniem...
chciałbym zaprezentować dzisiaj wstępną prezentację mojego podejścia do obsługi standardowych i dobrze znanych wszystkim wyświetlaczy alfanumerycznych LCD opartych o sterownik HD44780. Każdy chyba zna te wyświetlacze, każdy wie już chyba o nich wszystko, jednak bywa, że często mamy wiele problemów z ich użytkowaniem we własnych programach w mikrokontrolerach. Oczywiście nie mówię tu o aplikacjach, które po prostu wyświetlają non stop na ekranie to samo np datę, godzinę i temperaturę, bo realizacja takiego celu jest tak banalna, że aż szkoda byłoby poświęcać czas na jej opisywanie. Za to często na forach internetowych ale także w mailach do mnie spotykam się z pytaniami typu: "Jak zrobić proste MENU" na wyświetlaczu alfanumerczynym LCD. Moim zdaniem...
poniedziałek, 13 lutego 2012
TFT LCD 3,5" - efekty - animacja - ATmega32
Witam,
chciałbym tym razem przedstawić tylko tzw "zajawkę" możliwości jakie można wydobyć ze zwykłego małego procesora ATmega32 taktowanego 18,432MHz na 3,5" calowym wyświetlaczu TFT LCD (24-bit color depth), o rozdzielczości 320x240. Łącznie z uzyskaniem np krótkiej prostej ale jakiej płynnej animacji na obszarze całego ekranu! ;) ZŁY KOTEK - ten fragment to właśnie krótka animacja.
chciałbym tym razem przedstawić tylko tzw "zajawkę" możliwości jakie można wydobyć ze zwykłego małego procesora ATmega32 taktowanego 18,432MHz na 3,5" calowym wyświetlaczu TFT LCD (24-bit color depth), o rozdzielczości 320x240. Łącznie z uzyskaniem np krótkiej prostej ale jakiej płynnej animacji na obszarze całego ekranu! ;) ZŁY KOTEK - ten fragment to właśnie krótka animacja.
niedziela, 5 lutego 2012
PetitFS - DataLoger - zapis danych do plików.
Witam,
Ostatnio zacząłem usilnie pracować z przyjemnym PetitFS'em w celu osiągnięcia możliwości stworzenia datalogera. Chodziło o urządzenie do pomirau temperatury z czujników typu DS18B20 lub innych i zapis na kartę pamięci SD. Wziąłem więc w ręce procesorek ATmega32, podłączyłem kartę pamięci, dwa czujniki DS18B20 (do dowolnego pinu procka) no i napisałem kawałek programu. Generalnie, do procesora podłączony jest jeszcze przez standardową i sprzętową magistralę I2C układ RTC typu PCF8583, który odmierza czas pomiarów ale też właśnie ten czas zapisywany jest na karcie. Co ciekawe układ radzi sobie z zapisem do sporych plików całkiem nieźle. Jest pewna wada tego rozwiązania, otóż nie mogę dokonywać zapisu częściej niż co kilka sekund. A jeśli plik jest bardzo duży (wiele megabajtów) i następują zapisy pod koniec pliku to czas ten wydłuża się nawet do np 8 sekund. Ale to zależy jeszcze od samej karty pamięci. Oczywiście obsługiwane są wszystkie rodzaje kart od zwykłych aż po najnowsze i najszybsze SDHC itp
Ostatnio zacząłem usilnie pracować z przyjemnym PetitFS'em w celu osiągnięcia możliwości stworzenia datalogera. Chodziło o urządzenie do pomirau temperatury z czujników typu DS18B20 lub innych i zapis na kartę pamięci SD. Wziąłem więc w ręce procesorek ATmega32, podłączyłem kartę pamięci, dwa czujniki DS18B20 (do dowolnego pinu procka) no i napisałem kawałek programu. Generalnie, do procesora podłączony jest jeszcze przez standardową i sprzętową magistralę I2C układ RTC typu PCF8583, który odmierza czas pomiarów ale też właśnie ten czas zapisywany jest na karcie. Co ciekawe układ radzi sobie z zapisem do sporych plików całkiem nieźle. Jest pewna wada tego rozwiązania, otóż nie mogę dokonywać zapisu częściej niż co kilka sekund. A jeśli plik jest bardzo duży (wiele megabajtów) i następują zapisy pod koniec pliku to czas ten wydłuża się nawet do np 8 sekund. Ale to zależy jeszcze od samej karty pamięci. Oczywiście obsługiwane są wszystkie rodzaje kart od zwykłych aż po najnowsze i najszybsze SDHC itp
poniedziałek, 30 stycznia 2012
AVR - porty - we/wy - dir - PODSTAWY
W związku z dużą ilością pytań oraz w uzupełnieniu do książki "Mikrokontrolery AVR Język C Podstawy programowania" , przedstawiam poglądowy rysunek oraz fragmenty kodów dla mikrokontrolerów AVR. Ma to na celu rozprawić się ostatecznie i wyjaśnić wszystkim początkującym osobom, rozpoczynającym poznawanie mikrokontrolerów AVR jak to jest z tym ustawianiem pinów czy portów na wejścia lub wyjścia. Rysunek przedstawia oczywiście absolutne podstawy w odniesieniu niejako do pojedynczych pinów. Należy sobie jednak zdać sprawę, że każdy mikrokontroler AVR zaopatrzony jest w trzy 8-bitowe rejestry, służące do operacji na portach. Te 3 rejestry istnieją oczywiście dla każdego portu jaki posiada mikrokontroler. Jeśli to będzie np ATmega8 to będzie on posiadał: 3 rejestry kierunku, 3 rejestry wyjściowe oraz 3 rejestry wejściowe:
DDRB DDRC DDRD - rejestry kierunku
PORTB PORTC PORTD - rejestry wyjściowe
PINB PINC PIND - rejestry wejściowe
Analogicznie będzie dla pozostałych mikrokontrolerów. Np. maleńki ATtiny13 będzie posiadał tylko:
DDRB DDRC DDRD - rejestry kierunku
PORTB PORTC PORTD - rejestry wyjściowe
PINB PINC PIND - rejestry wejściowe
Analogicznie będzie dla pozostałych mikrokontrolerów. Np. maleńki ATtiny13 będzie posiadał tylko:
środa, 25 stycznia 2012
MkAvrCalculator + TPI/PDI + ATtiny10
Witam,
Chciałbym króciutko poinformować, że do pobrania leży najświeższa wersja programu MkAvrCalculator. Jest to już build 59, ale będzie ładnie działać u wszystkich którzy posiadają licencję na build 57.
Nowości:
+ obsługa PDI/TPI dla USBASP
+ obsługa mikrokontrolerów: ATtiny10 /9/5/4
+ nowsza wersja AVRDUDE 5.11 (do zainstalowania wprost z programu - zakładka "Ustawienia")
+ obsługa w trybie FREE/DEMO programatora na FT232R !
+ pełna integracja z Bascomem (był już poniżej oddzielny post na blogu).
+ pełne wsparcie dla programatora FT232R ale tylko dla zestawów uruchomieniowych ATB firmy ATNEL
Niestety ja osobiście jeszcze nie miałem okazji przetestować TPI na ATtiny10, ale wkrótce to zrobię. Gdyby komuś wcześniej się udało z MkAvrCalculatorem to proszę dać znać.
Aby to przetestować trzeba jeszcze wgrać sobie najbardziej aktualną wersję firmware do własnego USBASP no i mieć pod ręką ATtiny10. Procka już mam - tylko czasu nie było żeby zupgrejdować usbasp no i złożyć to do testów. Ale jak wspominałem wyżej wkrótce się za to zabiorę bo wszystko od strony programowej w MkAvrCalculator już jest przygotowane.
Chciałbym króciutko poinformować, że do pobrania leży najświeższa wersja programu MkAvrCalculator. Jest to już build 59, ale będzie ładnie działać u wszystkich którzy posiadają licencję na build 57.
Nowości:
+ obsługa PDI/TPI dla USBASP
+ obsługa mikrokontrolerów: ATtiny10 /9/5/4
+ nowsza wersja AVRDUDE 5.11 (do zainstalowania wprost z programu - zakładka "Ustawienia")
+ obsługa w trybie FREE/DEMO programatora na FT232R !
+ pełna integracja z Bascomem (był już poniżej oddzielny post na blogu).
+ pełne wsparcie dla programatora FT232R ale tylko dla zestawów uruchomieniowych ATB firmy ATNEL
www.sklep.atnel.pl
Niestety ja osobiście jeszcze nie miałem okazji przetestować TPI na ATtiny10, ale wkrótce to zrobię. Gdyby komuś wcześniej się udało z MkAvrCalculatorem to proszę dać znać.
Aby to przetestować trzeba jeszcze wgrać sobie najbardziej aktualną wersję firmware do własnego USBASP no i mieć pod ręką ATtiny10. Procka już mam - tylko czasu nie było żeby zupgrejdować usbasp no i złożyć to do testów. Ale jak wspominałem wyżej wkrótce się za to zabiorę bo wszystko od strony programowej w MkAvrCalculator już jest przygotowane.
Program można pobrać np tutaj:
niedziela, 15 stycznia 2012
Bascom + MkAvrCalculator = Integracja
Witam,
Chciałbym poinformować wszystkich użytkowników Bascoma, którzy korzystają z programu MkAvrCalculator, iż powstała właśnie jego nowa wersja build 58, która umożliwia pełną integrację ze środowiskiem programistycznym Bascom. Sam bym nie wpadł na taki pomysł, ale też nie mógłbym się dobrze zintegrować z Bascomem gdyby nie pomoc w tym zakresie Mark'a Alberts'a czyli twórcy Bascoma oraz pewnej zagranicznej firmy z zagranicy. W związku z powyższym, wszyscy otrzymują tę aktualizację bezpłatnie. Tzn z Bascomem działa zarówno wersja FREE jak również ta wykupiona/komercyjna. Pomimo tego że numerek jest inny bo 58.
pobierz program np tutaj: http://atnel.pl/mkavrcalculator.html
Chciałbym poinformować wszystkich użytkowników Bascoma, którzy korzystają z programu MkAvrCalculator, iż powstała właśnie jego nowa wersja build 58, która umożliwia pełną integrację ze środowiskiem programistycznym Bascom. Sam bym nie wpadł na taki pomysł, ale też nie mógłbym się dobrze zintegrować z Bascomem gdyby nie pomoc w tym zakresie Mark'a Alberts'a czyli twórcy Bascoma oraz pewnej zagranicznej firmy z zagranicy. W związku z powyższym, wszyscy otrzymują tę aktualizację bezpłatnie. Tzn z Bascomem działa zarówno wersja FREE jak również ta wykupiona/komercyjna. Pomimo tego że numerek jest inny bo 58.
pobierz program np tutaj: http://atnel.pl/mkavrcalculator.html
piątek, 23 grudnia 2011
Język C makra upraszczające dostęp do portów - wyjaśnienie
Witam,
Ponieważ wiele osób boryka się z rozgryzieniem sposobu działania makr upraszczających dostęp do portów takich jak poniżej:
// Makra upraszczające dostęp do portów
// *** PORT
#define PORT(x) SPORT(x)
#define SPORT(x) (PORT##x)
// *** PIN
#define PIN(x) SPIN(x)
#define SPIN(x) (PIN##x)
// *** DDR
#define DDR(x) SDDR(x)
#define SDDR(x) (DDR##x)
Chciałbym przedstawić pewne dodatkowe wyjaśnienia na ten temat, które mam nadzieję, że każdemu pomogą dogłębnie już zrozumieć zasadę ich działania. A jeśli nawet coś dalej będzie niejasne to oczywiście zapraszam do dyskusji ale już na forum, gdzie prowadzi poniższy link ;)
Ponieważ wiele osób boryka się z rozgryzieniem sposobu działania makr upraszczających dostęp do portów takich jak poniżej:
// Makra upraszczające dostęp do portów
// *** PORT
#define PORT(x) SPORT(x)
#define SPORT(x) (PORT##x)
// *** PIN
#define PIN(x) SPIN(x)
#define SPIN(x) (PIN##x)
// *** DDR
#define DDR(x) SDDR(x)
#define SDDR(x) (DDR##x)
Chciałbym przedstawić pewne dodatkowe wyjaśnienia na ten temat, które mam nadzieję, że każdemu pomogą dogłębnie już zrozumieć zasadę ich działania. A jeśli nawet coś dalej będzie niejasne to oczywiście zapraszam do dyskusji ale już na forum, gdzie prowadzi poniższy link ;)
poniedziałek, 19 grudnia 2011
Pixel Factory - kombajn narzędziowy dla LCD i nie tylko
Witam,
W związku z tym iż zająłem się głębiej wyświetlaczami graficznymi w tym matrycowymi oraz LCD (TFT color), zmuszony byłem przygotować sobie narzędzie do wygodnego generowania fontów graficznych różnej maści.
Dlatego chciałbym przedstawić program "Pixel Factory". Jest to kompletny program w zakresie tworzenia nie tylko fontów graficznych w postaci gotowych plików do zainkludowania do kompilatora języka C ale można także wygenerować fonty binarne.
W związku z tym iż zająłem się głębiej wyświetlaczami graficznymi w tym matrycowymi oraz LCD (TFT color), zmuszony byłem przygotować sobie narzędzie do wygodnego generowania fontów graficznych różnej maści.
Dlatego chciałbym przedstawić program "Pixel Factory". Jest to kompletny program w zakresie tworzenia nie tylko fontów graficznych w postaci gotowych plików do zainkludowania do kompilatora języka C ale można także wygenerować fonty binarne.
piątek, 2 grudnia 2011
Panel Dotykowy na scalaku stmpe811 - I2C
Wcześniej zajmowałem się wyświetlaczem kolorowym TFT 3,5" oraz 4,3" Link ale pominąłem zupełnie obsługę panela dotykowego w jaki on był wyposażony. Rozważałem wstępnie skorzystanie bezpośrednio z przetwornika ADC w mikrokontrolerze do jego obsługi, jednak zainteresowały mnie układy scalone, które taką obsługę powinny znacznie ułatwiać a przez to dawać większe możliwości jeśli chodzi o wydajność własnego programu w tak małym procku jak AVR, który przecież musi obsłużyć dość spory i kolorowy wyświetlacz LCD. Na początku myślałem o popularnych chyba bardziej układach z serii AR1000 a dokładniej o AR1020 na I2C, jednak z uwagi na to, że gdzie niegdzie można znaleźć już opisy i porady jak z niego korzystać, to postanowiłem się zabrać za całkiem inny układ, firmy ST Micro. o symbolu STMPE811.
Subskrybuj:
Posty (Atom)





