roboforum.ru

Технический форум по робототехнике.

esp32

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

esp32

Сообщение sned » 18 фев 2020, 12:00

осваиваю модуль esp32.https://aliexpress.ru/item/400023205701 ... 33edbe0Yuz
Прекрасный модуль но есть проблема:
Модуль коннектится с компьютером по serial через usb но после закрытия программы терминала на компьютере
происходит автоматический reset платы после которого таймер времени на плате сбрасывается.
Никак не могу это побороть.Может кто нибудь подскажет, что можно сделать?
sned
 
Сообщения: 303
Зарегистрирован: 08 апр 2013, 08:09
Откуда: Екатеринбург
ФИО: Сергей

Re: esp32

Сообщение sned » 22 фев 2020, 09:22

Продолжаю изыскания.
автоматический reset платы после которого таймер времени на плате сбрасывается происходит только при закрытии
serial порта на компьютере.при открытии ничего такого не происходит.
Вообще странно ,что на этом сайте esp32 всё ещё не популярен.)
sned
 
Сообщения: 303
Зарегистрирован: 08 апр 2013, 08:09
Откуда: Екатеринбург
ФИО: Сергей

Re: esp32

Сообщение Angel71 » 22 фев 2020, 11:33

вангую, что esp32 тут у людей очень даже популярны. даже что-то на подобии тензорных ускорителей и те сильно больше, чем пара человек использует.
а то, что у esp32 в общем есть небольшие нюансы с попурярность, так на это влияют объективные факторы. появились недавно, ассортимент и цены хотелось бы получше, ещё нет столько обучающих статей, проектов и прочего кода, всяких плат расширения и т.д. пока ещё не маловажно и то, что они трёхвольтовые + ни одного 5в толерантного пина. решаемо, но добавлять отдельный стаб или уровни согласовывать, это в графу "дополнительные телодвижения" или "неудобства".
на перезагрузку, если есть возможность, просто забей. нет, придётся копать. схемы у разных плат с esp32 бывают разные, терминалы и прочие особенности софта тоже. гипотетических вариантов, как лучше сделать в том или ином случае, тоже не один. смотри, берём к примеру лолин лайт. к плате подключаем акум, подключаем к компу. запуска ардуино иде, заливаем тестовый скетч.
Код: Выделить всёРазвернуть
unsigned long count = 0;
void setup()
{
  Serial.begin(115200);
  pinMode(22, OUTPUT);
}
void loop()
{
  Serial.print("count");
  Serial.println(count++);
  digitalWrite(22, HIGH);
  delay(500);
  digitalWrite(22, LOW);
  delay(500);
}

открываем монитор, смотрим чиселки. закрываем монитор, сразу открываем и наблюдаем, что чиселки не сбрасывались. закрываем иде, открываем, лезем в монитор, чиселки не сбрасывались. ладно, для доп. проверки закрываю монитор, запускаю свою утилиту, открываю в ней порт (dtr и прочие выставляет в 0, открывает порт и начинает данные отправлять и вычитывать, но это не важно), закрываю и порт и утилиту. открываю монитор и чиселки явно не сбрасывались.
закрываем монитор, лезем в диспетчер устройств, отключаем юсб-уарт, включаем, открываем монитор и видем, что чиселки сбрасывались.
закрываем монитор, отключаем юсб, подключаем юсб и открываем монитор. чиселки опять сбрасывались.
напомню, что плата ещё запитана от аккумулятора -> по питанию если что интересного и приключается, про эти гипотетические вещи в данном случае смело пока можно забыть. если посмотришь на схему своей платы, там скорей всего от юсб-уарта один пин идёт к ресету (на прямую, через транзисторы, логику, компараторы,...). т.е. пока со сбросом это вариант, когда сброс происходит если меняется состояния этого пина. управление этим пином может происходить в разных местах, начиная от самого терминала и вплоть до дебрей операционки/драйверов.
софтово esp32 может сбрасываться и из кода, что реализовано в прошивке легко и кардинально может отличаться. но с текущим описанием, копать ещё и в сторону происходящего в самой esp32, вроде не нужно.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: esp32

Сообщение Madf » 22 фев 2020, 14:14

Если esp32 используется с купленной платой (стандартной разблюдовкой), вангую специальную разводку, что бы через сигналы RTS/CTS аппаратно сбрасывался чип, для удобства программирования.
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: esp32

Сообщение sned » 22 фев 2020, 18:31

RTC timer: Allows keeping the system time during any resets and sleep modes, only the power-up reset leads to resetting the RTC timer. The frequency deviation depends on an RTC Clock Source and affects accuracy only in sleep modes, in which case the time will be measured at 6.6667 us resolution.
Таймер RTC: Позволяет сохранять системное время во время любого сброса и спящего режима, только сброс при включении питания приводит к сбросу таймера RTC. Отклонение частоты зависит от источника тактового сигнала RTC и влияет на точность только в режимах ожидания, в этом случае время будет измеряться с разрешением 6,6667 мкс.
С официального сайта https://docs.espressif.com/
Получается сохранение не при любом сбросе
sned
 
Сообщения: 303
Зарегистрирован: 08 апр 2013, 08:09
Откуда: Екатеринбург
ФИО: Сергей

Re: esp32

Сообщение Angel71 » 22 фев 2020, 22:08

там как бы об этом ясно и написано.
открываем esp32_datasheet_en и смотрим раздел "2.3 Power Scheme", уже немного прояснилось. теперь "3.7 RTC and Low-Power Management"
1.jpg

en/chip_pu отключает все блоки
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: esp32

Сообщение sned » 23 фев 2020, 07:49

действительно при подаче нуля на вывод RST/EN -chip_pu плата отключается ,соответственно вся
инфа в энергозависимой памяти теряется.Если на плате даже найти и перерезать этот провод(видимо от usb чипа)
наверное это скажется на возможности прошиваться.Но с другой стороны на плате есть кнопка RST
с той же функцией и при прошивке можно её нажимать ,но это неудобно.
sned
 
Сообщения: 303
Зарегистрирован: 08 апр 2013, 08:09
Откуда: Екатеринбург
ФИО: Сергей

Re: esp32

Сообщение sned » 03 мар 2020, 21:01

Обнаружил ещё один косяк.Не могу определить это только у моей платы или у всех так или это косяк
библиотек ардуино.
Оператор touchRead(32) снимает показания с пина 33
соответственно touchRead(33)снимает показания с пина 32.
ПИНЫ ПЕРЕПУТАНЫ ДЛЯ touch ДЛЯ КОМАНД digitalRead ИЛИ digitalWrite НЕ ПЕРЕПУТАНЫ.
ПРИ ЭТОМ если пытаешься использовать эти пины в разных качествах
например
ledcSetup(2, 5000, 8);//Channel = 0 freq = 5000 разрешение-8бит
ledcAttachPin(33,2); // пин,Channel привязка пина 33 к ШИМ
ledcWrite(2, 255);
int k=touchRead(32);

то touchRead(32) не работает или int k=touchRead(33); то уже ШИМ не работает
sned
 
Сообщения: 303
Зарегистрирован: 08 апр 2013, 08:09
Откуда: Екатеринбург
ФИО: Сергей

Re: esp32

Сообщение Angel71 » 04 мар 2020, 01:05

[самоудалилось]
Последний раз редактировалось Angel71 05 мар 2020, 12:29, всего редактировалось 1 раз.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: esp32

Сообщение sned » 05 мар 2020, 04:56

Спасибо конечно за массу полезных ссылок,но вывод то с этого умничания какой?
Плата неисправна или всё так и должно работать или все производители плат заблуждаются
или надо допилить библиотеки?
sned
 
Сообщения: 303
Зарегистрирован: 08 апр 2013, 08:09
Откуда: Екатеринбург
ФИО: Сергей

Re: esp32

Сообщение Angel71 » 05 мар 2020, 12:39

"умничания" значит, ну возись тогда сам.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: esp32

Сообщение sned » 05 мар 2020, 14:05

Angel71 А чего сообщение удалил ,стыдно стало?
sned
 
Сообщения: 303
Зарегистрирован: 08 апр 2013, 08:09
Откуда: Екатеринбург
ФИО: Сергей

Re: esp32

Сообщение Angel71 » 05 мар 2020, 15:41

тебе дали ссылки на несколько файлов исходников. даже скопипастил те несколько несчастных строчек кода, из которых элементарно понять, почему touchRead(32) работает с пином 33, а touchRead(33) с пином 32. мало того, что несколько строчек примитивнейшего кода не можешь осилить, так ещё и хамишь.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: esp32

Сообщение sned » 05 мар 2020, 16:52

удивляюсь таким людям, схамил вначале первым ,потом удалил своё хамство а теперь строит из себя праведника
продолжая хамить.Наверное повышаешь своё эго в своих глазах и это тебе уже не первый раз высказывают люди.
а вопрос был не только об этом а как организовать ledcWrite и touchRead на пинах 32 и 33 чтобы это не мешало друг другу.
sned
 
Сообщения: 303
Зарегистрирован: 08 апр 2013, 08:09
Откуда: Екатеринбург
ФИО: Сергей

Re: esp32

Сообщение Angel71 » 05 мар 2020, 17:50

хамство было в том, что тебе прямым текстом написали, что иногда исходники изучать нужно? или хамством было дать ссылки на "esp32-hal-touch.c", "esp32-hal-touch.h", "esp32-hal-gpio.c", "esp32-hal-gpio.h" на гитхабе? или хамством было из этих файлов скопировать несколько отрывков кода, из которых элементарно можно понять, где ошибка в коде?
:ROFL: вот здесь
Код: Выделить всёРазвернуть
    {0x1c, 9, 4, 9},
    {0x20, 8, 5, 8},

эти "другие" пусть тебе и помогают со второй частью и когда опять сам с чем ещё не справишься. принцессы на горошине.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4