Serial.begin()

Описание

Устанавливает скорость передачи данных в битах в секунду (бод) для последовательной связи. При работе с Serial Monitor убедитесь, что используете одну из скоростей, перечисленных в выпадающем меню скорости в Serial Monitor. Однако вы можете указывать и другие скорости — например, для связи через пины 0 и 1 с компонентом, требующим определённой скорости.

Необязательный второй аргумент задаёт количество бит данных, бит чётности и стоп-бит. По умолчанию — 8 бит данных, без чётности, один стоп-бит.

Синтаксис

Используйте следующую функцию для инициализации и настройки последовательной связи:

  • Serial.begin(baud)

  • Serial.begin(baud, config)

Параметры

Функция принимает следующие объекты и параметры:

  • Serial: объект последовательного порта. Список доступных последовательных портов для каждой платы см. на главной странице Serial.

  • baud: в битах в секунду (бод). Допустимые типы данных: long.

  • config: задаёт биты данных, чётности и стоп-биты. Допустимые значения:

    • SERIAL_5N1

    • SERIAL_6N1

    • SERIAL_7N1

    • SERIAL_8N1 (по умолчанию)

    • SERIAL_5N2

    • SERIAL_6N2

    • SERIAL_7N2

    • SERIAL_8N2

    • SERIAL_5E1: чётный паритет

    • SERIAL_6E1

    • SERIAL_7E1

    • SERIAL_8E1

    • SERIAL_5E2

    • SERIAL_6E2

    • SERIAL_7E2

    • SERIAL_8E2

    • SERIAL_5O1: нечётный паритет

    • SERIAL_6O1

    • SERIAL_7O1

    • SERIAL_8O1

    • SERIAL_5O2

    • SERIAL_6O2

    • SERIAL_7O2

    • SERIAL_8O2

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

Функция ничего не возвращает.

Пример кода

void setup() {
    Serial.begin(9600); // открывает последовательный порт, устанавливает скорость 9600 бит/с
}

void loop() {}

Пример с несколькими последовательными портами:

// Arduino Mega с использованием всех четырёх своих последовательных портов
// (Serial, Serial1, Serial2, Serial3),
// на разных скоростях:

void setup() {
    Serial.begin(9600);
    Serial1.begin(38400);
    Serial2.begin(19200);
    Serial3.begin(4800);

    Serial.println("Hello Computer");
    Serial1.println("Hello Serial 1");
    Serial2.println("Hello Serial 2");
    Serial3.println("Hello Serial 3");
}
void loop() {}

Спасибо Джеффу Грею (Jeff Gray) за пример с Mega.

Примечания и предупреждения

Примечание

Для USB CDC последовательных портов (например, Serial на Leonardo) Serial.begin() не имеет значения. Можно использовать любую скорость и конфигурацию для связи через эти порты. Список доступных последовательных портов для каждой платы см. на главной странице Serial.

Предупреждение

Единственное значение config, поддерживаемое для Serial1 на платах Arduino Nano 33 BLE и Nano 33 BLE Sense — это SERIAL_8N1.