Serial Port

Материал из Wiren Board

Перед началом работы

Монументальное описание последовательных портов - 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/