Stalker SoC: Podłączanie nowego poziomu do gry.Tuesday, June 29. 2010
Instalacja niepodpisanych sterowników pod Windows 7 x64Sunday, June 20. 2010
ufp - utak3r Flash PlayerWednesday, June 9. 2010![]() ![]()
![]()
Intel® Concurrent Collections for C++ - proste i przejrzyste programowanie równoległe.Tuesday, June 8. 2010Tworzysz właśnie aplikację w C++ pod linuksa lub Windows, której zadaniem są m.in. długie obliczenia? Myślałeś o zrównolegleniu tych obliczeń? Jeśli tak - Intel udostępnia swój zestaw Intel® Concurrent Collections for C++. Cóż to takiego? Concurrent Collections for C++ to zestaw kolekcji ("steps" dla obliczeń, "tags" dla kontroli oraz "items" dla danych), które umożliwiają przejrzystą implementację algorytmów równoległych. Zadania przedstawia się w formie grafu w specjalnie przygotowanej do tego celu notacji. Co więcej - Intel udostępnił również specjalne narzędzie wizualne do tworzenia owych grafów - GraphBuilder. Biblioteka łatwo integruje się z Microsoft Visual Studio. Autorką technologii jest Kath Knobe, która wiele lat spędziła przy programowaniu superkomputerów, obecnie jest zatrudniona w Intelu. Dostępne jest również forum poświęcone tej technologii.
Przy okazji tematu, polecam gorąco odwiedzenie portalu Parallel Commuinity, również prowadzonego przez Intel. Timer do lampkiThursday, May 27. 2010
W pokoju córeczki, gdy idzie spać, zostawiamy małą lampeczkę włączoną. Potem, gdy nam się o niej przypomni, należy ją wyłączyć. Owo "gdy nam się o niej przypomni" trwa od godziny do 6 godzin
Schemat elektryczny tego urządzenia jest zwyczajnie banalny - ot, standardowe połączenie multipleksowanych dwóch cyfr 7-segmentowego wyświetlacza LED do mikrokontrolera PIC16F628A. Jako interfejs ustawiania zadanego czasu, można było zastosować dwa przyciski, ale ja u siebie wstawiłem enkoder obrotowy, który w obsłudze końcowej jest nieporównywalnie przyjemniejszy od przycisków - zwłaszcza, gdy przyjdzie nam ustawić czas rzędu np. 90 minut Modułem wykonawczym może być dowolna realizacja... może to być przekaźnik z cewką 5V, może być z własnym zasilaniem (np. 12V), może też to być zestaw optotriak-triak. Tę ostatnią opcję wybrałem dla swojej realizacji, jako, że z powodu swojego charakteru pasuje tutaj najbardziej do projektu. Poniżej możecie zobaczyć schematy pokazujące, jak zrealizować takie moduły wykonawcze.
Wsad do mikrokontrolera można pobrać tutaj. W razie jakichkolwiek problemów, czy to ze schematem, czy z oprogramowaniem - pytać Miłego odliczania czasu! PIC16F - Realizacja software'owego buforu odbioru USARTFriday, May 21. 2010Pracowałem ostatnimi dniami nad małym kontrolerkiem, sterowanym przez RS232. Obsługa niektórych poleceń, wydawanych do niego, trwała nawet po kilka milisekund i... okazało się, że użyty przeze mnie 16F628A ma bufor wejściowy USARTa rozmiaru... 2 bajtów. Tak, to nie pomyłka Dlatego postanowiłem napisać obsługę cyklicznego bufora wejściowego - o rozmiarze wg uznania Na początku, zmienne globalne: #define RX_BUFOR_MAX 32 i podczas inicjalizacji programu: // ustawiamy bufor odbioru danych z UARTa Tyle przygotowań. Proces odbioru danych i składowanie ich w cyklicznym buforze zrealizujemy w przerwaniu. Najpierw odpalamy przerwanie: STATUS.RP0 = 1; I definiujemy obsługę: void interrupt(void) Pozostało nam napisanie funkcji korzystających z owego bufora. Wpierw funkcja badająca, czy w buforze czeka na nas jakiś nieprzetworzony znak: // czy w cyklicznym buforze czekają dane do odczytania? No i funkcja odczytująca kolejny znak: // odczyt znaku z cyklicznego buforu Na koniec przedstawię jeszcze moją małą funkcję odczytującą znak z określonym timeoutem operacji: void BUFRS_Read_Timeout(unsigned char *bajt, unsigned char timeout) To tyle. U mnie - jak już pisałem, obsługa niektórych znaków zajmuje kilka milisekund, niektórych kilka mikrosekund - całość działa poprawnie przy 19200 (kwarc 20MHz). Oczywiście, powyższe działa tylko na mikrokontrolerach wyposażonych w sprzętowy moduł USART. Powodzenia. PIC16F - obsługa LCD z Nokia 3310Thursday, April 29. 2010Zabawiałem się w ostatnich dniach wyświetlaczem LCD z poczciwej Nokii 3310. LCD nie jest rewelacyjny, ale ma te swoje 84x48 pikseli monochromatycznego obrazu. W trybie tekstowym, z małą czcionką, wystarcza to na 6 rzędów po 14 znaków. ![]() Szukając w sieci biblioteki do jego obsługi, przejrzałem zyliony projektów typu "LCD-on-LPT" i nieco mniej, bo już tylko miliony Na chwilę obecną, biblioteka pozwala na wyświetlanie napisów w dwóch różnych rozmiarach - przy użyciu tylko jednego zdefiniowanego kroju pisma - skalowanie następuje w locie, podczas wyświetlania. W planach dodanie grafiki. Biblioteka dostępna jest jako LGPL, podczas jej opracowywania, jak już wspominałem, wykorzystywałem różne źródła (no i własną pracę). Największymi dawcami idei i pomysłów byli Louis Frigon oraz Lieven Hollevoet. Załączam również przykładowy projekt, wykorzystujący ów LCD i bibliotekę - taki mały zegarko-termometr Dzięki niemu można dowiedzieć się, jak podłączyć wyświetlacz i jak skorzystać z biblioteki. Zwracam tylko uwagę na konieczność ustawienia swoich pinów LCD w pliku N3310LCD.h. ![]() Bibliotekę oraz przykładowy projekt znaleźć można na forum elektrody. A następny LCD w kolejce do rozpracowania jest przyjemny LCD kolorowy, o wymiarach 128x128 pikseli - dostępny na allegro za ok. 20zł Najprostszy programator PIC16F i pokrewnychSunday, April 18. 2010Podczas poszukiwania kilku elementów w mojej przepastnej szafie, odnalazłem dwa zagubione egzemplarze mikrokontrolera PIC 16F628A firmy Microchip... Dodając do tego, że od dawna myślałem o powrocie do mikrokontrolerów, a także że od kilku lat dzień w dzień widuję się z kolegą, który wciąż mnie namawia do tego (a sam jest specem) - no cóż, te dwie odnalezione kostki dopełniły dzieła i... wróciłem do zajmowania się nimi W dzisiejszych czasach królują dwie rodziny małych mikrokontrolerów - AVRy od Atmela i PICe od Microchipa. Zwłaszcza wśród nowo zaczynających (m.in. dzięki "Oślej Łączce" z czasopism AVT) popularne są AVR. Ja jednak PICe już znam - to po pierwsze, a po drugie, mimo wszystko, PICe uważam za lepszy wybór (ale wojen żadnych nie mam zamiaru toczyć z nikim w tym temacie). ![]() Zabawa rozpoczęła się oczywiście od budowy programatora. Z czasem i tak zakupię duży programator na USB, z możliwością debugowania, ale na razie... wychodząc z założenia, że to tylko chwilowe rozwiązanie, należało znaleźć coś, co jest najprostsze i najtańsze w produkcji. Wybór padł na JDM, ale jak się szybko okazało, większość dostępnych schematów odnosi się do starszych przedstawicieli 16F. Dlatego Dostosowałem schemat do warunków programowania 16F628A, przy okazji upraszczając schemat JDM (i tak już prosty). Po trzech dniach walk i prób na breadboardzie (płytce stykowej) osiągnąłem działający egzemplarz. Kilka dni intensywnego działania - programuje 100 na 100 Schemat? Schemat jest prosty jak... drut Płytki PCB nawet nie projektowałem, w pół godziny polutujecie wszystko sobie na dowolnej płytce uniwersalnej. Jedyny problem to gniazdo RS232, w którym trzeba będzie nieco ponaginać piny... osobiście piny 6 oraz 9 usunąłem, natomiast piny 7 i 8 lekko nagiąłem - w ten sposób całe gniazdo ładnie osiadło w rastrze 2,54 mm. Jako gniazdo pod procesor dałem podstawkę DIL18, ale jeżeli znajdziecie gniazdo ZIF - polecam. Do programowania ICSP postawiłem sobie gniazdo 2x5 pinów, takie, jakie widać na płytach komputerowych (taśma 10 żył). Dlaczego takie? Po pierwsze, taśmę 10 pin łatwo dostać ![]() Na koniec kilka słów o dostosowywaniu układu docelowego do przyszłego programowania poprzez ICSP. Dwie najważniejsze sprawy, to bezwzględne odłączenie oryginalnego zasilania układu podczas programowania (a to z kolei pociąga za sobą, aby linię Vdd z gniazda podłączyć bezpośrednio do procesora, a nie do wspólnego punktu zasilania) oraz separacja linii Vpp - na przykład diodą. Takie rozwiązania wyklucza co prawda ten port z bycia ewentualnym wyjściem, ale... pamiętaj, że podczas programowania Vpp wynosi do 13V! Jedynym innym wyjściem jest zastosowanie wyłącznika mechanicznego. Z pozostałych problemów, warto jest nie używać, o ile to nie jest koniecznie, linii CLOCK i DATA, gdyż podczas programowania podpięte układy mogą wprowadzić zakłócenia uniemożliwiające poprawne zaprogramowanie układu. ![]() To tyle, życzę miłego programowania
(Page 1 of 15, totaling 116 entries)
» next page
View as PDF: This month | Full blog powered by Serendipity |
QuicksearchLinkiNiniejsza strona nie jest moim jedynym miejscem w sieci... tutaj składuję to, co nie mieści się w ramach pozostałych innych moich miesc (głównie blogów o tematyce mobilnej). Zapraszam do odwiedzin: ArchivesKategorieBlog Administration |



