The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Debian, управление Lpt портом, !*! zigli, 24-Дек-08, 10:06  [смотреть все]
Нашел пакет индикации загрузки процессора диодами через порт принтера http://packages.debian.org/etch/ledstats
А как его переделать так чтобы управлять морганием диодов в ручную,
включить/отключить определенный диод?
  • магия! не пытайтесь повторить это дама!, !*! Andrey Mitrofanov, 10:20 , 24-Дек-08 (1)
    >А как его переделать так чтобы управлять морганием диодов в ручную,
    >включить/отключить определенный диод?

    Мой маленький друг!

    Эта сложная задача называется програмированием. И делают её специально обученые люди - програмисты. Они берут исходные тексты http://packages.debian.org/source/etch/ledstats програмы, (ужас!ужас!ужас!) меняют их, собирают из изменённых исходных текстов Новую Програму, потом кладут эту програму в пакет и дают её Людям.

    Ищите програмиста, верьте в Чудо -- и оно произойдёт! B-j

    • магия! не пытайтесь повторить это дама!, !*! zigli, 16:31 , 24-Дек-08 (2)
      >[оверквотинг удален]
      >>включить/отключить определенный диод?
      >
      >Мой маленький друг!
      >
      >Эта сложная задача называется програмированием. И делают её специально обученые люди -
      >програмисты. Они берут исходные тексты http://packages.debian.org/source/etch/ledstats програмы, (ужас!ужас!ужас!) меняют их, собирают
      >из изменённых исходных текстов Новую Програму, потом кладут эту програму в
      >пакет и дают её Людям.
      >
      >Ищите програмиста, верьте в Чудо -- и оно произойдёт! B-j

      :) Чудо произошло!!!

      наперепрограммировал все-таки
      думаю кому-нить поможет

      #include <stdio.h>
      #include <ctype.h>
      #include <stdlib.h>
      #include <unistd.h>
      #include <string.h>

      #include <parportled.h>

      int main(int argc,char* argv[])
      {.
          led_setperm();

          int val,port;

          if(argc<3){
               fprintf(stderr,"usage: %s port value\n",argv[0]);
               exit(1);
          }.
          if(sscanf(argv[1],"%i",&port) && sscanf(argv[2],"%i",&val)){
               if(val == 1){
                   short led_num = -1;
                   if (isdigit(port))
                        led_num = port - '0';

                   if (led_num == -1)
                        led_on_all();
                   else if ((led_num >= 1) && (led_num <= 8))
                        led_on(led_num);
               }

               if(val == 0){
                    short led_num = -1;
                    if (isdigit(port))
                      led_num = port - '0';

                    if (led_num == -1)
                      led_off_all();
                    else if ((led_num >= 1) && (led_num <= 8))
                      led_off(led_num);
               }
          }else{
               fprintf(stderr,"port and value must be in hex format with 0x prefix\n");
               exit(1);
          }
          exit(1);
      }

      Так же необходим пакет http://packages.debian.org/etch/libparportled

      Работает так
      ./led_on_off 1 1  // зажигаем первый диод
      ./led_on_off 1 0  // тушим первый диод
      и т.д.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру