Serial Port: различия между версиями

Материал из Wiren Board
Строка 22: Строка 22:
* Зайти в настройки (нажать ''Ctrl+A'', затем ''O''), выбрать пункт ''Serial port setup'', там установить порт ''/dev/ttyAPP0'', скорость и чётность - ''115200, 8N1'', ''Hardware flow control - No'', ''Software flow control - No''
* Зайти в настройки (нажать ''Ctrl+A'', затем ''O''), выбрать пункт ''Serial port setup'', там установить порт ''/dev/ttyAPP0'', скорость и чётность - ''115200, 8N1'', ''Hardware flow control - No'', ''Software flow control - No''
* Сохранить настройки: ''Save setup as _dev_ttyAPP0''
* Сохранить настройки: ''Save setup as _dev_ttyAPP0''
* Далее запускать как '''minicom /dev/ttyAPP0''' (все параметры будут сразу браться из профиля с названием ''/dev/ttyAPP0'', который мы ранее создали)
* Далее запускать как:
<pre>
$ '''minicom /dev/ttyAPP0'''
</pre>
(все параметры будут сразу браться из профиля с названием ''/dev/ttyAPP0'', который мы ранее создали)
* Теперь можно вводить данные, которые вы хотите отправить в порт. Приходящие в порт данные от внешних устройств также будут выводиться
* Теперь можно вводить данные, которые вы хотите отправить в порт. Приходящие в порт данные от внешних устройств также будут выводиться


== Работа с последовательным портом из своей программы ==
== Работа с последовательным портом из своей программы ==
http://tldp.org/HOWTO/Serial-Programming-HOWTO/
http://tldp.org/HOWTO/Serial-Programming-HOWTO/

Версия 14:36, 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, который мы ранее создали)

  • Теперь можно вводить данные, которые вы хотите отправить в порт. Приходящие в порт данные от внешних устройств также будут выводиться

Работа с последовательным портом из своей программы

http://tldp.org/HOWTO/Serial-Programming-HOWTO/