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.
Примеры
См.также
Внешние ссылки