Соединение AI A7 Thinker с Arduino

Я пытаюсь подключить свой A7 к Arduino Uno, но не могу найти способ связи с ним. Я много искал в Интернете, чтобы найти несколько схем, но ни одна из них не сработала. Вот моя фактическая установка:

ARDUINO              A7

PIN 6      <=>       URXD
PIN 7      <=>       UTXD
GND        <=>       GND
5V         <=>       5V

Вот код:

#include<SoftwareSerial.h>
SoftwareSerial myserial(6,7);//RX,TX

void setup() {
  Serial.begin(9600);
  myserial.begin(115200);
  Serial.println("Starting...");
}

void loop() {
   delay(1000);
   myserial.println("AT");
   Serial.println(myserial.read());
}

Я пытался подключить USB вместо 5V, оба, подключить контакт POWER или поменять местами 6 и 7, нажать кнопку питания, с разной задержкой, разной скоростью передачи данных, но я всегда получаю один и тот же вывод на моем компьютере. :

Starting...
-1
-1
-1
-1
...

Иногда он становится равным 0, когда я подключаю USB и нажимаю кнопку питания. Светодиод на A7 реагирует, когда я нажимаю кнопку, и иногда он включает цепь.

Я также попробовал это решение с очень простым кодом:

void setup() {
   Serial.begin(115200);  
}

void loop() {
}

Опять с разными скоростями передачи данных, но компилятор выдает ошибку:

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
...

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

Спасибо!

, 👍1

Обсуждение

Я ничего не знаю об A7, но похоже, что у вас есть RxTx последовательного канала как 6 и 7 соответственно, а на A7 вы подключили 6 к Rx и 7 к Tx. Обычно, когда на плате есть вывод с маркировкой Tx, он означает **Его** вывод Tx, поэтому вы должны подключить вывод Tx A7 к 6, а Rx к 7. Программатор от ПК к Uno должен использовать выводы 0 и 1., @Code Gorilla

Довольно много людей используют A7 и Arduino и решают задачи по адресу: https://forum.arduino.cc/index.php?topic=445548.0., @raddevus


2 ответа


1

Сейчас я имею дело с точно такой же проблемой, пытаясь заставить свою работать. Единственная помощь, которую я могу дать до сих пор, заключается в том, что эта ошибка avrdude была решена для меня, когда я прекратил попытки загрузить код в uno с питанием a7. думаю, это связано с тем, что программатор использует одни и те же порты RX/TX.

,

Что такое А7? Это тип платы?, @CrossRoads


0

Вы сказали...

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding

Эти ошибки возникают из-за того, что вы пытаетесь выполнить загрузку на Arduino, используя те же провода Tx/Rx, которые использует программное обеспечение и пытается загружать данные.

Возможное решение

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

,