UART, еще UART и SIM800L
- Войдите на сайт для отправки комментариев
Что-то умотал меня этот модуль. Расклад такой:
Мега 328, без кварца, венутренний генератор на 8 МГц установлен. Модуль SIM800L на красной плате. Питаю от лабораторного источника, на плате моей стоит преобразователь lm2596 на 4 вольта для модема. Мега питается от него же. Имеем аппаратный UART и программный. Так же имеем UART TTL USB приблуду.
В ардуину залит простой тестовый скетч обмена между последовательными портами.
#include <SoftwareSerial.h> SoftwareSerial SIM800(9, 8); // 8 - RX Arduino (TX SIM800L), 9 - TX Arduino (RX SIM800L) void setup() { Serial.begin(9600); // Скорость обмена данными с компьютером Serial.println("Start!"); SIM800.begin(9600); // Скорость обмена данными с модемом SIM800.println("AT"); } void loop() { if (SIM800.available()) // Ожидаем прихода данных (ответа) от модема... Serial.write(SIM800.read()); // ...и выводим их в Serial if (Serial.available()) // Ожидаем команды по Serial... SIM800.write(Serial.read()); // ...и отправляем полученную команду модему }
Подключаем модем к софтовому, комп к аппаратному - не работает
При чем если отправлять команды с компа то с софтового их видно. Так же видно как модем отвечает командами, но ардуина их не воспринимает. Если модем подключить к USB UART то с модемом нормально общаемся и все работает. С ардуиной тоже общаемся. А вот эти два между собой договориться не могут.
До этого стоял 168 чип, он работал. Как напаял 328 - перестало...
В качестве апа темы вот что выяснил:
перепаиваю чип на мега168 (новый взял) и тот код выше - работает. Запаял новый чиип 328 - не работает... Фюзы E2 DD FF...
Что может быть? Мозг уже сломал. Сравнил все осциллограммы - все по миллисекундам ровно.
дубль удалил...
Во второй строчке RX/TX наоборот
Во второй строчке RX/TX наоборот
Да комментарий не совпадает с действительностью ;)
Есть предположение что нужно калибровать RC генератор, завтра пробовать буду
Все оказалось просто: 328-й меге не хватало уровня 2.8 вольт в качестве единицы. Понизил напряжение питания до 3.8 и заработало.
Все оказалось просто: 328-й меге не хватало уровня 2.8 вольт в качестве единицы. Понизил напряжение питания до 3.8 и заработало.
что-то какая-то фигня у вас в схеме творится.... Если ардуина и модем оба питались от 4в - откуда ж единица получалась 2.8?
от модема