Espruino:Справочник по API/Класс Serial/setup()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Функция Serial.setup()[1]

Синтаксис

Serial.setup(baudrate, options)

Параметры

  • baudrate – скорость передачи данных (по умолчанию 9600)
  • options – опциональный объект с дополнительной информацией об инициализации последовательного порта (см. ниже)

Возвращаемое значение

Описание

Настраивает последовательный порт, используя заданную скорость передачи данных (baudrate) и заданные настройки (options).

Например, Serial1.setup(9600,{rx:a_pin, tx:a_pin}).

Объект во втором аргументе может содержать следующее:

{
  rx:pin,      // приемный контакт (ввод данных в Espruino)  
  tx:pin,      // отправляющий контакт (вывод данных из Espruino)
  ck:pin,      // (по умолчанию не задан) контакт для тактовой частоты
  cts:pin,     // (по умолчанию не задан)
               // контакт, обозначающий готовность передачи данных 
  bytesize:8,  // (по умолчанию 8) сколько битов данных – 7 или 8
  parity:null/'none'/'o'/'odd'/'e'/'even', 
               // (по умолчанию не задан) бит четности
  stopbits:1,  // (по умолчанию 1) количество стоп-битов
  flow:null/undefined/'none'/'xon', 
               // (по умолчанию не задано)
               // программное управление потоками
  path:null/undefined/string
               // (только для Linux) 
               // путь к используемому последовательному устройству 
  errors:false // (по умолчанию «false»)
               // здесь задается, будут ли генерироваться
               // события «framing» и «parity» 
 }

Чтобы найти на плате нужные контакты, можно посмотреть на схему с распиновкой вашей платы или поискать на плате надписи «UART» или «USART».

Если настройки rx и tx заданы не будут, в них будут заданы контакты по умолчанию (обычно это самые первые контакты на самом первом порте, поддерживающем подключенное периферийное устройство). Контакты ck и cts, если их не задать, использованы не будут.

Обратите внимание, что даже если вы поменяете контакты RX и TX, к порту Serial будут по-прежнему подключены те контакты RX и TX, которые были заданы при предыдущем вызове Serial.setup(). Поэтому вам нужно будет перенастроить их с помощью функции digitalWrite() или pinMode().

Если задать настройку cts, вы можете воспользоваться управлением потоком данных. Оно может быть программным (xOn/xOff) или аппаратным (только прием данных). Если в cts будет задан контакт, значение «0» будет означать, что Espruino готова к данным, а «1» – что не готова.

По умолчанию ошибки кадра (ошибки стоп-бита) и ошибки четности не генерируют события framing и parity на объекте Serial, потому что хранение этих ошибок использует дополнительную память в очереди. При получении большого количества поврежденных данных очередь может быть переполнена, а E.getErrorFlags() вернет FIFO_FULL. Но если вам нужно реагировать на эти ошибки, вам нужно будет задать errors:true при инициализации объекта Serial.

На Linux-билдах устройство Serial по умолчанию не задано, так что вам нужно будет также задать путь к нему. Например:

Serial1.setup(9600,{path:"/dev/ttyACM0"})

Вы также можете настроить программную последовательную коммуникацию при помощи вот такого кода:

var s = new Serial();
s.setup(9600,{rx:a_pin, tx:a_pin});

Но для последовательной коммуникации не нужны настройки ck, cts, parity, flow и errors.

Примеры

См.также

Внешние ссылки