Port równoległy LPT w C na Linux – obsługa portu i sterowanie diodami LED

Port LPT bardzo dobrze nadaje się do pierwszych prób skomunikowania komputera z zewnętrzną elektroniką. Jest to możliwe dzięki temu, że w przeciwieństwie do inny portów (np. COM, USB, etc.) możemy ustawić dane wyjście w stan wysoki (lub niski) i stan ten będzie się utrzymywać.

Zacznijmy od określenia, które wyprowadzenia będą dla nas interesujące. Pomoże w tym poniższa ilustracja z Wikipedii.

lpt_pint

Czytaj całość...

Kody błędów w Nissan Almera N16. Wyświetlanie, sprawdzanie i kasowanie kodów błedów bez komputera.

Pojazdy samochodowe w obecnych czasach są dość szczodrze obdarzone w elektronikę. Trwają wzmożone starania, aby usystematyzować i ustandaryzować jak najwięcej kwestii w tym temacie – bardzo pomocna jest tu Unia Europejska. Mimo to, istnieje wiele rodzajów magistral, złącz i protokołów służących diagnostyce samochodowej. Taki stan rzeczy ma jedną dobrą cechę, a jedną złą. Dobra jest taka, że gdy wystąpi usterka w samochodzie, to dzięki komputerowi wbudowanemu w silnik, jesteśmy w stanie w miarę precyzyjnie określić, gdzie mniej więcej jest ulokowana. Zła jest taka, że coraz mniej jesteśmy w stanie naprawić bez specjalistycznego sprzętu podłączanego poprzez złącze diagnostyczne. Dodatkowo, gdy zawiedzie elektronika w samochodzie, to jest wysoce prawdopodobne, że zawiedzie cały pojazd.

Czytaj całość...

Pobieżny opis MMIO, PMIO, PIO, DMA, PCI

Wszystkie umieszczone w tytule skróty odnoszą się do sposoby komunikacji komputera z urządzeniami zewnętrznymi. Aby opisać wszystkie, potrzeba by książki na każdy. Nie to jest jednak przedmiotem tego artykułu, ja opiszę je tylko pobieżnie, po akapicie na każdy.

Czytaj całość...

Jakie nowości, zmiany i nowe funkcje w Android 4.x Ice Cream Sandwich

19 października, czyli 4 dni od czasu pisanie tego posta o godzinie 4 rano w Hong Kongu pojawi się najnowsza wersja systemu operacyjnego Android o nazwie kodowej Ice Cream Sandwich i numerze wersji 4.x. Wraz z systemem operacyjnym, premierę będzie mieć nowy smartphone ze stajni Samsunga – Galaxy Nexus.

Głównym mottem przyświecającym przy tworzeniu tej wersji było pozbycie się tzw. fragmentacji Androida. Co kryje się pod tym sformułowaniem? Chodzi o sytuacje, gdy różni użytkownicy posiadają na swoich urządzeniach różne wersje Androida, nie do końca ze sobą spójne i przez to mają problemy z uruchamianiem na nich tych samych aplikacji i stosowaniem tych samych funkcjonalności. Jak Google chce walczyć z fragmentacją? Oto lista nowych funkcji w najnowszym Androidzie, które mają w tym pomóc.

Czytaj całość...

Stronicowanie vs segmentacja

Dogłębna znajomość pojęć segmentacji i stronicowanie nie jest konieczna dla zwykłego zjadacza kodu, jednak każdemu może się przydać zrozumienie o co chodzi w tych dwóch pojęciach. Postaram się bardzo skrótowo i w bardzo uproszczony sposób pokazać, o co chodzi.

segmentacja vs stronicowanie

Z lewej strony rysunku mamy przykładowy kod, w przykładowym języku programowania. Jest to naprzemienne tworzenie stringa i jego wyświetlanie. Tak to wygląda w oczach programisty. I teraz…

Segmentacja jest pokazana na środkowym rysunku. Kompilator podzielił nasz program na segment danych i segment kodu. Dane programu mogą ulegać zmianie, więc znajdują się w segmencie przeznaczonym do odczytu i zapisu. Kod programu nie jest przeznaczony do modyfikacji i znajduje się w segmencie przeznaczonym tylko do odczytu. Stąd mamy pierwszy wniosek. Segmentacja zapobiega ingerowaniu w pamięć nie przeznaczoną do tego. Spójrzmy na indeksowanie komórek na środkowym rysunku. Adresowanie zaczyna się od początku dla każdego z segmentów. Stąd mamy drugi wniosek. Segmentacja ułatwia nam operowanie adresami, bo dzielimy sobie kod na kilka części adresowanych od początku.

Stronicowanie jest pokazane na prawym rysunku, który pokazuje fizyczny układ w pamięci, czyli tak jak to wygląda w kości RAM. Czerwone pola oznaczają pamięć zajętą przez inne programy. Między tymi czerwonymi polami była wolna przestrzeń, ale niewystarczająca na umieszczenie naszego programu w całości. System operacyjny powkładał nasz program gdzie się da w wolne obszary pamięci i zapamiętał tylko w jakiejś swojej tabeli, gdzie co leży, żęby móc to później wrócić jakoś do kupy. Stąd mamy wniosek odnośnie stronicowania. Stronicowanie pozwala wykorzystać małe obszary wolnej pamięci na umieszczenie w nich dużych fragmentów aplikacji.

Czytaj całość...

Ekran pojemnościowy vs. ekran rezystancyjny

Rozważając kupno telefonu komórkowego lub innego PDA z ekranem dotyczkowym, stajemy przed ważnym wyborem – kupić model z ekranem rezystancyjnym, czy z ekranem pojemnościowym. Wybór wpłynie znacząco na sposób, w jaki będziemy obsługiwać to urządzenie. Telefon z ekranem rezystancyjnym możemy obsługiwać wszystkim – pacem, długopisem, rysikiem, kluczem, czymkolwiek, czym możemy wywrzeć nasick na matryce. Telefon z ekranem pojemnościowym, możemy obsługiwać tylko czymś, co przewodzi prąd – specjalnym rysikiem, ewentualnie palcem, ale już bez założonej rękawiczki.

Czytaj całość...

Sterowanie komputerem poprzez ruch gałek ocznych

Sterowanie komputerem przy użyciu myśli wciąż jest w fazie tworzenia, Różne firmy próbują tworzyć nowe sposoby interakcji z komputerem, które mają wypełnić tą pustą przestrzeń. Jedną z takich firm jest Tobii, która zaprezentowała na tagrach CeBIT 2011 technologię sterowania komputerem przy pomocy ruchu gałek ocznych. Aby dowiedzieć się więcej zapraszam do artykułu na IT Tech Blog.

Czytaj całość...

Test kilku komputerowych mitów

Autorzy portalu IT Tech Blog postanowili sprawdzić kilka komputerowych mitów. Jeżeli kogoś interesuje, czy:

  • można wyciągać pendrive’a z USB podczas kopiowania
  • magnes potrafi usunąć dane z dysku twardego
  • wyłączanie komputera bez zamknięcia OSu może uszkodzić dane
  • lepiej, żeby komputer chodził cały czas, niż żeby go włączać i wyłączać
  • defragmentacja dysku na prawdę pomaga
  • po wyłączeniu komputera należy odczekać pewien czas przed ponownym włączeniem
  • używanie nieoryginalnych tuszy może zaszkodzić drukarce

to koniecznie powinien przeczytać ten artykuł.

Czytaj całość...

Programowalne nano-roboty w zasięgu ręki

Naukowcy opracowali metodę wytwarzania programowalnych nano-robotów. Mikroskopowej wielkości roboty utworzone są z syntetycznej nici DNA. Potrafią poruszać się między lokalizacjami oddalonymi od siebie o 6nm i w zależności od tego, co zostało zapisane w ich molekułach podejmują decyzję o kierunku dalszego poruszania się. Jest to milowy krok, jeżeli chodzi o przyszłą budowę prawdziwych nano-robotów.

Czytaj całość...