Определение последовательного UART

Я новичок в Arduino..

Сейчас я пытаюсь создать GPRS-соединение через SIM-карту. Для этого мне нужно подключить последовательный порт UART.

Я не знаю, как определить Serial UART. Не могли бы вы мне с этим помочь?

, 👍-2

Обсуждение

В гугле есть миллионы примеров того, как это сделать. Вы пробовали спросить?, @Majenko


2 ответа


2

В функции настройки вам нужно будет вызвать функцию Serial.begin().

Чтобы получить последовательный символ, необходимо вызвать функцию <code>Serial.available()</code> внутри оператора if.

Чтобы отправить символ, вы можете использовать функции Serial.write() или Serial.print().

Ниже приведен простой пример программы, которая будет возвращать символы на ПК.

//-------------------------
// Простой последовательный цикл
//-------------------------

void setup()
{
  // инициализируем последовательную связь:
  Serial.begin(9600);
}

void loop()
{
  byte inChar;

  // проверяем, были ли отправлены данные с компьютера:
  if (Serial.available())
  {
    // прочитать последний байт
    inChar = Serial.read();
    // отправить обратно символ
    Serial.write(inChar);
  }
}

В Arduino IDE есть множество «встроенных» примеров, которые используют различные последовательные функции. Их можно просматривать без подключения какого-либо оборудования. В IDE перейдите в Файл > Примеры, а оттуда в разделе Связь вы найдете множество примеров для последовательного UART. Подробности этих примеров можно найти на сайте Учебник по Arduino.

,

Единственный аппаратный UART uno используется для пеограмирования и создания отладочного вывода. Если он подключен к модулю GPRS, то программирование будет невозможно, а отладочный вывод будет проблематичным., @Chris Stratton

Я видел много плат, использующих перемычки/переключатели/перемычки/щиты, которые вы отсоединяете, когда вам нужно перепрограммировать. Надеюсь, вы дойдете до стадии, когда ваше устройство заработает, и вам не придется перепрограммировать микросхему., @sa_leinad


1

Arduino имеет только один UART, который используется для загрузки программы и для последовательного терминала вывода на ваш компьютер. Хотя вы можете подключить его к другому последовательному устройству, это сделает отладку обременительной, так как 1) вы не сможете отправлять никакой отладочный вывод; и 2) вам нужно будет переключаться между вашим компьютером и GPRS, когда вы перестраиваете и загружаете свой код. Вам в значительной степени нужен второй UART, чтобы делать это как-то удобно.

Найдите модуль библиотеки под названием SoftwareSerial, который может имитировать UART на второй паре контактов, с некоторыми ограничениями: он ограничен скоростью связи 9600 бод; он не может передавать и получать данные одновременно; максимум один порт SoftwareSerial может принимать данные (или даже слушать) в любой момент времени; и он может мешать работе другого внутреннего оборудования, в частности системы прерываний и по крайней мере одного из таймеров. (Ссылка ведет на веб-сайт Arduino, документация которого не всегда самая последняя, но то, что там есть, даст вам представление).

Во многих случаях, и ваш, вероятно, один из них, это не останавливает шоу, просто то, о чем следует знать, когда ваш код становится более сложным. Пока вы можете управлять своим устройством, время от времени отправляя ему строку и получая другую в ответ, и ваша система не включает другие высокоскоростные устройства, которые должны обслуживаться быстро, когда они этого требуют, вы, вероятно, не заметите ограничений.

,