Ардуино Леонардо RX TX тайна

Я нахожусь в хвосте проекта, используя модуль Leonardo, модуль Bluetooth HC-06 и несколько вибрационных двигателей сотового телефона. Все работает отлично, за исключением последовательной связи между Leonardo и HC-06. Я провел несколько тестов, чтобы исключить распространенные ошибки.

  1. TX подключен к RX и наоборот.
  2. Используя мультиметр, я проверил непрерывность с RX TX, проблем нет.
  3. Я могу загрузить сценарий
  4. Я загрузил тот же самый сценарий в Uno, используя тот же HC-06. Мне удалось подключиться к HC-06 с моим телефоном и выполнить сценарий. Поэтому я знаю, что это не сценарий, и я знаю, что это не HC-06.
  5. Леонардо работает правильно, потому что я могу загрузить сценарий и выполнить его с помощью Arduino Serial Monitor.

Единственный ключ, который у меня есть, это то, что я могу загрузить сценарий с подключенным RX /TX, и это не должно работать. Тем не менее, я проверил соединения и есть непрерывность. Поэтому я в тупике. Единственное, о чем я могу думать, это то, что я повредил RX /TX, пока паяю, но я надеюсь, что это не так. Есть ли способ проверить это. Любые предложения?

/*
 * created by Rui Santos, http://randomnerdtutorials.com
 * Bluetooth App - Turn On and Off LED
*/

#include <SoftwareSerial.h>
SoftwareSerial mySerial(1, 0); // RX, TX

int led = 3;
int state;

void setup() {                
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);     
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}

void loop() {
  if(Serial.available() > 0){     
      state = Serial.read();}

  if (state == '1') {
      digitalWrite(led, HIGH);}   // turn the LED on (HIGH is the voltage level)

  else if (state == '2') {
      digitalWrite(led, LOW);}    // turn the LED off by making the voltage LOW

  delay(100);               // wait for 100ms

  //For debugging purpose
  //Serial.println(state);
}
2 голоса | спросил Sarah M 9 FebruaryEurope/MoscowbFri, 09 Feb 2018 22:40:06 +0300000000pmFri, 09 Feb 2018 22:40:06 +030018 2018, 22:40:06

1 ответ


3

Arduino Leonardo имеет встроенную поддержку USB. Это означает, что у него есть отдельные последовательные интерфейсы к ПК и аппаратным выводам.

Serial используется только для связи с ПК и не имеет отношения к серийным выводам аппаратного обеспечения 0 и 1. Те, Serial1

Итак, если вы используете тот же самый эскиз Uno, который использует аппаратные серийные выводы, он не может работать на Leonardo, потому что данные просто отправляются /считываются с ПК, а не на подключенный Bluetooth модуль, подключенный к контактам 0 и 1.

ответил gre_gor 9 FebruaryEurope/MoscowbFri, 09 Feb 2018 22:54:34 +0300000000pmFri, 09 Feb 2018 22:54:34 +030018 2018, 22:54:34

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132