Файлы устройств Linux

��L��       óôLª         ôôL│Â
      ôôL≥Â
         ôôL:
                      ôôL<
                                       õôL┬      õôL
┬         õôL,               õôL,          öôL÷      öôLü         öôLä       öôLç         öôLÎá
      öôLÓá
         ÷ôLâ³      ÷ôLç³         ÷ôL]æ       ÷ôL◆æ         ÷ôL≥á
      ÷ôL£á
         øôL D      øôL"D         øôLW       øôLW         øôLª  !   øôª         ùôLê÷  !    ùôLí÷         ùôL  !   ùôL          ùôL&ç         !    ùôL(ç          úôLÞ÷  !   úôLà÷         úôL<  !    úôL>         úôL»+    !   úôL¼+          úôL¢
  !    úôL¢
         ûôL  !   ûôL         ûôLJ*  !    ûôLM*         ûôL  !   ûôL         ûôLB
  !    ûôLD
         ýôLÞ   !    ýôLà          ýôL  !   ýôL         ýôLôLàÎ
         ÿôL¨   !    ÿôLª          ÿôL]␉  !   ÿôL◆␉         ÿôLø  !    ÿôLø         ÿôLÏ≠
      !   ÿôLÒ≠
          ôL¾#  !    ôLÁ#          ôL=Ù  !     ôL@Ù          ôL»
  !    ôL½
          ôL7»
                 !     ôL:»
                                        ôLð  !    ôLó         ôL└   !    ôL⎺          ôL'ñ  !   ôL*ñ         ôL¨¬  !    ôLª¬         ôL!Ù  !   ôL#Ù         ôL␍ò  !  

Это - некоторый вывод с помощью кошки/my/device/file для джойстика. Как я точно читаю файл устройств? Вышеупомянутые двоичные байты? Я просто должен смочь обнаружить, каково символы это.

Учебные руководства/предложения были бы большими!

1
задан 24.07.2014, 19:32

3 ответа

Файл устройств является просто ссылкой на пространство ядра. Вывод и как "считать" файл устройств, зависит от самого устройства. Необходимо будет консультироваться с документами для драйвера (если существует кто-либо), или считайте источник для выяснения что его запись там.

Мое лучшее предположение является своим двоичным файлом, описанным структурой C в источнике драйвера.

3
ответ дан 12.12.2019, 08:37

Файлы устройств являются специальными файлами, не текстовыми файлами как много файлов под /proc.

Если Вы просто хотите, устанавливают Ваш джойстик, используйте программу пространства пользователя, смотрите, например, инструкция здесь. Ваша настольная среда могла бы также идти со специализированным программным обеспечением для конфигурирования его. Для доступа к ним непосредственно, необходимо будет получить доступ к ним через их API C.

1
ответ дан 12.12.2019, 08:37

'Файл устройств' является специальным узлом на диске, который связывается для кодирования в ядре. Этот код является драйвером устройства. Когда драйвер устройства загружается, Вы настраиваете определенные функции, которые назовут, когда определенные системные вызовы (открываться/читать/писать/закрывать/и т.д....) называют на 'файле'.

Так, при вызове 'чтения' оно вызывает определенную функцию в коде драйвера устройства. Этот код может сделать в значительной степени что-либо в привилегированном режиме; в этом случае имеет смысл снимать аппаратные показания джойстика, преобразовывать значения напряжения в числа и позволять ему быть считанным () из файла устройств.

Просто случайное предположение, я уверен, что отсылаемые значения являются просто чтениями положения X и Y джойстика (и Z?) и некоторые настройки кнопок. Чтение как текст не будет работать, Вам нужно что-то, что действительно преобразовывает в шестнадцатеричную систему и/или числовые дампы. Включите джойстик, считайте значения из него, и переместите джойстик вокруг месива кнопки и посмотрите, как значения изменяются.

Исходный код может иметь комментарии, указывающие, что означают значения, хотя фактический код, вероятно, нечитабелен Вам (если Вы не знаете то, что аппаратные средства регистрируют и средства материала протокола USB).

1
ответ дан 12.12.2019, 08:37

Теги

Похожие вопросы