Последнее приложение: мигающие лампочки |
Предыдущая Содержание Следующая |
Наконец, я разработаю приятное приложение, которое заставит светодиоды мигать последовательно. Чтобы добиться этого, должна быть написана программа в пользовательском пространстве, которая будет записывать в устройство /dev/parlelport по одному биту за раз.
<lights.c> =
#include <stdio.h> #include <unistd.h> int main() { unsigned char byte,dummy; FILE * PARLELPORT;
/* Открывает устройство parlelport */ PARLELPORT=fopen("/dev/parlelport","w"); /* Удаляем буфер из файла ввода/вывода */ setvbuf(PARLELPORT,&dummy,_IONBF,1);
/* Инициализируем переменную в единицу */ byte=1;
/* Организуем бесконечный цикл */ while (1) { /* Пишем в параллельный порт */ /* для включения светодиода */ printf("Byte value is %d\n",byte); fwrite(&byte,1,1,PARLELPORT); sleep(1); /* Обновляем значение байта */ byte<<=1; if (byte == 0) byte = 1; }
fclose(PARLELPORT); }
Она может быть скомпилирована обычным способом:
$ gcc -o lights lights.c
и может быть запущена командой:
$ lights
Лампочки будут мигать последовательно одна за другой! Мигающие светодиоды и компьютеры с Linux и этой работающей программой показаны на Рисунке 4.
Рисунок 4. Мигающие светодиоды, установленные на плате, и компьютер под управлением Linux. Показаны два терминала: один, где загружен модуль "parlelport", и другой, где работает программа "lights".
|
Предыдущая Содержание Следующая |