Serial Port: различия между версиями
Admin (обсуждение | вклад) |
|||
(не показаны 64 промежуточные версии 9 участников) | |||
Строка 1: | Строка 1: | ||
== Перед началом работы == | |||
== | Монументальное описание последовательных портов - http://www.tldp.org/HOWTO/Serial-HOWTO.html | ||
Далее будет дано краткое неточное описание. | |||
В последовательный порт вы можете посылать данные, и получать их оттуда. В Linux последовательные порты представлены в виде некоторых псевдофайлов из папки /dev/, например, в Wiren Board это '''/dev/ttyAPP0''', '''/dev/ttyNSC1''', '''/dev/ttyUSB0''' (у всех в названии есть tty). | |||
Перед тем, как начать работать с портом, надо настроить его скорость и другие параметры в зависимости от того, какое устройство к нему подключено: | |||
* скорость в битах в секунду. Самое популярное значение 115200 | |||
* количество бит в символе, чётность, количество стоп-битов. Самая популярная конфигурация называется 8N1 - восемь бит в символе, проверки чётности нет, один стоп-бит | |||
* аппаратный и программный контроль потока. Если не знаете - поставьте нет в обоих настройках. | |||
== Интерактивный режим работы из консоли == | |||
Самая удобная утилита для работы с последовательным портом из консоли - '''minicom''' (есть в стандартном образе Wiren Board). | |||
Краткая инструкция (считаем, что мы будем работать с портом /dev/ttyAPP0): | |||
* В первый раз запускаем '''minicom''' с ключём, создающим профиль работы с портом (в нём хранятся номер порта, скорость передачи данных, чётность, и т.д.): | |||
* | <pre> | ||
$ minicom -s /dev/ttyAPP0 | |||
</pre> | |||
* | * Зайти в настройки (нажать ''Ctrl+A'', затем ''O''), выбрать пункт ''Serial port setup'', там установить порт ''/dev/ttyAPP0'', скорость и чётность - ''115200, 8N1'', ''Hardware flow control - No'', ''Software flow control - No'' | ||
* Сохранить настройки: ''Save setup as _dev_ttyAPP0'' | |||
* Далее запускать как '''minicom /dev/ttyAPP0''' (все параметры будут сразу браться из профиля с названием ''/dev/ttyAPP0'', который мы ранее создали) | |||
* Теперь можно вводить данные, которые вы хотите отправить в порт. Приходящие в порт данные от внешних устройств также будут выводиться | |||
== Работа с последовательным портом из своей программы == | |||
http://tldp.org/HOWTO/Serial-Programming-HOWTO/ | |||
Версия 14:35, 5 апреля 2015
Перед началом работы
Монументальное описание последовательных портов - http://www.tldp.org/HOWTO/Serial-HOWTO.html
Далее будет дано краткое неточное описание.
В последовательный порт вы можете посылать данные, и получать их оттуда. В Linux последовательные порты представлены в виде некоторых псевдофайлов из папки /dev/, например, в Wiren Board это /dev/ttyAPP0, /dev/ttyNSC1, /dev/ttyUSB0 (у всех в названии есть tty).
Перед тем, как начать работать с портом, надо настроить его скорость и другие параметры в зависимости от того, какое устройство к нему подключено:
- скорость в битах в секунду. Самое популярное значение 115200
- количество бит в символе, чётность, количество стоп-битов. Самая популярная конфигурация называется 8N1 - восемь бит в символе, проверки чётности нет, один стоп-бит
- аппаратный и программный контроль потока. Если не знаете - поставьте нет в обоих настройках.
Интерактивный режим работы из консоли
Самая удобная утилита для работы с последовательным портом из консоли - minicom (есть в стандартном образе Wiren Board).
Краткая инструкция (считаем, что мы будем работать с портом /dev/ttyAPP0):
- В первый раз запускаем minicom с ключём, создающим профиль работы с портом (в нём хранятся номер порта, скорость передачи данных, чётность, и т.д.):
$ minicom -s /dev/ttyAPP0
- Зайти в настройки (нажать Ctrl+A, затем O), выбрать пункт Serial port setup, там установить порт /dev/ttyAPP0, скорость и чётность - 115200, 8N1, Hardware flow control - No, Software flow control - No
- Сохранить настройки: Save setup as _dev_ttyAPP0
- Далее запускать как minicom /dev/ttyAPP0 (все параметры будут сразу браться из профиля с названием /dev/ttyAPP0, который мы ранее создали)
- Теперь можно вводить данные, которые вы хотите отправить в порт. Приходящие в порт данные от внешних устройств также будут выводиться