(arduino) Коммуникация между ESP и MEGA

Всем привет, пришлось мне влезть в ардуинки.

Есть платка типа RobotDyn Mega + ESP8266. Рабочая.

Получается слать данные от ESP к MEGA. Всё просто.
На ESP делаю

    Serial.print("ля-ля-ля").
На МЕGA
void serialEvent3()
{
  while (Serial3.available())
  {
        ля-ля-ля
Всё работает.

А вот как послать данные c MEGA в ESP?

👍НравитсяПонравилось0
В избранноеВ избранном2
LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Запустил ваш код на Arduino nano на прием, отправлял команду с STM32 (так как в nano один UART)

Работает на 9600, не работает на 115200
Причина скорее всего в клоке — МК работает от внутреннего генератора, частота котого плавает с температурой, напряжением, погодой на марсе.
Ставьте фьюзы на внешний кварц или уменьшайте скорость

PS таки заработало и на 115200. (даже пробовал греть arduino nano феном до градусов так 100 — все равно прием работал)
Значит вероятнее всего с распиновкой проблема.
Описывайте схему соединений
на mega такая распиновка
www.arduino.cc/...​ons/communication/serial
SERIAL PINS
0(RX), 1(TX)

SERIAL 1 PINS
19(RX), 18(TX)

значит соединять 0 с 18, 1 с 19

так я зразу запитував
dou.ua/...​rums/topic/30190/#1823966

і тобі обмін те синхронний (запит-відповідт), чи асинхронний(події)?
треди підтримуються?
переривання, чи пулінг?

ти відповів синхронний, а юзав івенти... О_О

там описаний варіант
Связь между Mega и ESP и одновременно Mega и USB

хз, з ардуінами їх псевдокодом не користувався,
на цьому мабуть все, що можу підказати

1. Можете написати невелику програму для роботи напряму із портами
тут приклад: www.xanthium.in/...​bedded-programming-avrgcc
, якщо все працює рухатись далі і копатись в цьому ардуінівському «фреймворку»

2. на ардуіно шукаєте вихід Tx, замикаєте його на Rx
відпраляєте Serial.print("ля-ля-ля")
і дивитесь чи потрапили сюди

void serialEvent3()
{
  while (Serial3.available())
  {
        ля-ля-ля
  }
}

Можливо не працює тому що неправильно зробили ініціалізацію. Приклади є тут:
www.arduino.cc/...​mmunication/serial/begin
www.arduino.cc/...​ons/communication/serial

P.S. Не користуюсь Ардуіно, тому міг щось пропустити.

Це проект щоб не нудьгувати під час карантину?)

А зачем тогда тут мучатся с ESP, если все ровно жирные мозги надо там? че не подцепить плату с мк напрямую к IOT одноплатнику (что то типа aliexpress.ru/item/32802458477.html )? Как бы лишнее звено.

так мне сильно проще

Так а разве тебе не проще писать под юникс* привычный софт, который просто дергает мк через UART/i2c/spi? Сильно ведь быстрее разработка, нежели с проприетарными платформами, +переносимость кода.
К тому же за жалкие 18$ ты получаешь там жирные ресурсы, кучу интерфейсов:
256RAM,500ROM, Wifi, BT, GPIO (i2c/spi/uart), USB, GPRS, Audio in-out, LCD, SD,camera interface, battery input, и для прикола Fm :)
chip.by/...​t-dlya-interneta-veshhej
кажется, цена у вас адекватная на него.

Ну как кормить? От 8в только через внешний DC-DC (опять копейки) до 3вт плата жрет, хоть там походу нет узлов питающихся напрямую от входного напряжения, без своего DC-DC, но я бы не рисковал. На этой плате есть спец порт для батареи с контроллером заряда, но он ведь на одну ячейку т.е 4.2в, можно использовать как бесперебойник для «мозгов», если запаять туда акк от смартфона- в магазах за копейки неликвидные продают.

алиэкспресс для кого существует

знайдіть екзепл від Ардуіно, переконайтесь що плата працює. кожен

Serial

має свої піни, можливо Ви відправляєте на одні, а читаєте з інших.... чи у Вас є осцилограф чи логічний аналізатор?

Странно заниматся таким без осцилографа или лог. анализатора. И дебажить миганием светодиода вообще жесть

PS Ардуина еще наверное затактирована от внутреннего RC осциллятора? Тогда ставьте скорость 9600, а не 115200, маловероятно что 115 к будет стабильно работать с таким тактовым источником

пффф. электроника одно из моих хобби. Работаю на унылом энтерпрайзе на украинской галере.
после покупки осциллографа занятия электроникой выходят на другой уровень — до этого как вслепую тыкаться. (осцилл Siglent 1104-x-e: 100 Mhz, 4 канала, 12 мегаточек)

і тобі обмін те синхронний (запит-відповідт), чи асинхронний(події)?
треди підтримуються?
переривання, чи пулінг?

слать наоборот,
RS232 він же дуплєкс,
і вопше первонах

Подписаться на комментарии