Uwolnij swoje Arduino – programowanie Arduino bez bibliotek od Arduino

Uwolnij swoje arduino

Arduino – platforma programistyczna dla systemów wbudowanych opracowana w 2005 roku we Włoszech, oparta na Open Hardware. Celem projektu Arduino było stworzenie samowystarczalnej platformy umożliwiającej tworzenie projektów bez dodatkowych narzędzi. Obecnie Arduino dostarcza zarówno płytkę (np. Arduino Uno, z mikroprocesorem ATmega328P) jak i wieloplatformowe środowisko programistyczne tzw. Arduino IDE. Mikroprocesor umieszczony na płytce jest domyślnie wyposażony w bootloader który dostarcza możliwość programowania mikrokontrolera z wykorzystaniem portu szeregowego (UART). Jest to znaczne ułatwienie, dzięki temu aby zaprogramować mikroprocesor nie potrzebujemy zewnętrznego programatora.

Czytaj całość “Uwolnij swoje Arduino – programowanie Arduino bez bibliotek od Arduino” »

Tajemnice wejścia/wyjścia – jak zrozumieć deskryptory plików, strumienie i potoki

Wstęp

Wielu początkujących programistów bardzo często ma problemy ze zrozumieniem i poprawnym zaimplementowaniem jednego z podstawowych elementów programu – systemu wejścia/wyjścia. Mowa rzecz jasna o środowisku tekstowym, w którym nie mamy do dyspozycji przycisków, pól tekstowych czy okienek dialogowych. O ile problem z początku może wydawać się banalny (z tego powodu większość wydaje się nie zwracać na niego uwagi) to na późniejszym etapie jego ignorowanie prowadzi do powstawania wielu absurdów.

W dalszej części postaram się rozwiać wszelkie wątpliwości na temat niżej wymienionych kwestii:

  • jak działa i czym jest wejście/wyjście programu,
  • jak ujednolicić obsługę wejścia/wyjścia w swoim programie:
    • jak umożliwić użytkownikowi programu podjęcie decyzji o sposobie wprowadzania danych (z klawiatury, z pliku a może z innego komputera?),
    • jak zminimalizować nakład pracy;

Zanim jednak przejdziemy do kwestii programowania, ważne jest, aby dobrze znać środowisko w którym będziemy uruchamiać programy. Poznanie środowiska ma kluczowe znaczenie w kwestii rozumienia wewnętrznej struktury programu, pozwala na głębsze myślenie na temat optymalizacji kodu, upraszcza testowanie i sprawia, że programy zyskają na jakości – staną się bardziej uniwersalne.

Czytaj całość “Tajemnice wejścia/wyjścia – jak zrozumieć deskryptory plików, strumienie i potoki” »