Версия 6.3.х
Версия 6.3.х
Заметил в 622, что константы в ПБ после определения нельзя изменить. Просто не сохраняет новые данные.
-
- Полковник
- Сообщения: 4006
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
Версия 6.3.х
Ветка разработки ecoins. Там есть библиотека и блоки LCD на i2c.
Немного сложнее в использовании (нужно вместе с диспетчером задач), но работает без тормозов.
Ecoins сейчас работает над обновлением своих библиотек - они должны получиться компактнее, быстрее и проще в использовании.
Версия 6.3.х
Сохраняет, но не рабочем поле. Касается исключительно параметров пользователя. Удалите с проекта блок и заново вставьте с закладки Пользовательских блоков, там всё сохраняется. Такая особенность с первых версий программы до в.6.3.1 включительно и неоднократно описана, п.к.мере мной.Iqubik писал(а): 18 фев 2020, 01:27 Заметил в 622, что константы в ПБ после определения нельзя изменить. Просто не сохраняет новые данные.

-
- Рядовой
- Сообщения: 9
- Зарегистрирован: 03 май 2018, 09:57
- Имя: Александр
Версия 6.3.х
Ребята помогите.Куда делись входы выходы? Проект с Arduino Nano
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сержант
- Сообщения: 138
- Зарегистрирован: 19 апр 2018, 13:37
- Имя: Павел
Версия 6.3.х
viewtopic.php?p=85100#p85100
Как я ранее писал в сообщение #140, контроллер ESP32 продолжает зависать при добавленном в скейч "Расширитель входов - выходов MCP23017", причем даже если просто дотронуться к проводам шины I2C. Искал проблему побывал ставит другой контроллер ESP32 проблема повторялась, побывал разделить питание и питать от повербанка проблема повторялась. Сменил на МЕГУ2650 все работает отлично и без зависаний, вачдог даже работает. Сменил на ESP8266 NodeMcu v3 все работает отлично и без зависаний, вачдог даже работает.
Так что проблема точно в связке ESP32 и MCP23017.
БОЛЬШАЯ просьба к Автору устранить причину зависания!
Уважаемые знатоки подскажите в чем может быть причина данного зависания? Дайте Автору наводку где правит.
ВСЕМ БОЛЬШОЕ СПАСИБО за помощь!
Как я ранее писал в сообщение #140, контроллер ESP32 продолжает зависать при добавленном в скейч "Расширитель входов - выходов MCP23017", причем даже если просто дотронуться к проводам шины I2C. Искал проблему побывал ставит другой контроллер ESP32 проблема повторялась, побывал разделить питание и питать от повербанка проблема повторялась. Сменил на МЕГУ2650 все работает отлично и без зависаний, вачдог даже работает. Сменил на ESP8266 NodeMcu v3 все работает отлично и без зависаний, вачдог даже работает.
Так что проблема точно в связке ESP32 и MCP23017.
БОЛЬШАЯ просьба к Автору устранить причину зависания!
Уважаемые знатоки подскажите в чем может быть причина данного зависания? Дайте Автору наводку где правит.
ВСЕМ БОЛЬШОЕ СПАСИБО за помощь!
Версия 6.3.х
У меня такое было подтяните на микросхеме MCP23017 резистором 1К к +5 ножку reset ну или к 3.3в все зависит от того какое питание на MCP23017 подаётся эта микруха подругому отказывается работать!
Последний раз редактировалось o615ye161 19 фев 2020, 07:23, всего редактировалось 3 раза.
-
- Полковник
- Сообщения: 1928
- Зарегистрирован: 28 окт 2015, 22:47
- Откуда: Ленобласть
- Имя: Игорь
- Поблагодарили: 2 раза
Версия 6.3.х
Не делайте так, это ESP))
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Версия 6.3.х
Это работает ей всеравно, я так решил эту проблему!
Отправлено спустя 1 минуту 32 секунды:
Подругому она не работает я имею ввиду MCP23017, это проверено уже 100%.
Отправлено спустя 1 минуту 32 секунды:
Подругому она не работает я имею ввиду MCP23017, это проверено уже 100%.
-
- Полковник
- Сообщения: 1928
- Зарегистрирован: 28 окт 2015, 22:47
- Откуда: Ленобласть
- Имя: Игорь
- Поблагодарили: 2 раза
Версия 6.3.х
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
- grin-mpx
- Лейтенант
- Сообщения: 477
- Зарегистрирован: 17 июл 2017, 18:39
- Откуда: Днепр. UA
- Имя: Григорий
Версия 6.3.х
Я отказался от расширителей на шине I2C, в частности от PCF8574. Причина? Наглухо зависающий контроллер при обрыве связи или при физическом отсутствии подключенной микросхемы. Это недопустимо. Сейчас пробую расширитель на 74нс595. Контроллер тоже ESP32.
-
- Полковник
- Сообщения: 1928
- Зарегистрирован: 28 окт 2015, 22:47
- Откуда: Ленобласть
- Имя: Игорь
- Поблагодарили: 2 раза
Версия 6.3.х
С MCP23017 та же картина. Как вариант - присмотреться к блокам ecoins.grin-mpx писал(а): 19 фев 2020, 01:57 Наглухо зависающий контроллер при обрыве связи или при физическом отсутствии подключенной микросхемы.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
-
- Полковник
- Сообщения: 1928
- Зарегистрирован: 28 окт 2015, 22:47
- Откуда: Ленобласть
- Имя: Игорь
- Поблагодарили: 2 раза
Версия 6.3.х
И как, это помогает от зависания атмеги, при отсутствии связи?o615ye161 писал(а): 19 фев 2020, 10:53 ножку reset микросхемы MCP нужно подтянуть через 1К к питанию +
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Версия 6.3.х
Микросхема начинает правильно работать, для начала проверьте, а потом спорьте, я через это прошёл
-
- Полковник
- Сообщения: 1928
- Зарегистрирован: 28 окт 2015, 22:47
- Откуда: Ленобласть
- Имя: Игорь
- Поблагодарили: 2 раза
Версия 6.3.х
Вот одна из плат, где я использовал эту микруху.
[spoiler] [/spoiler]
Но опять же - ЗАВИСАЕТ КОНТРОЛЛЕР если нет связи.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Версия 6.3.х
Ошибка в работе Сторожевого таймера WDT (точно проверена на ESP32)
Суть ошибки: при включении защиты от зависания и установки времени контроля в 10 сек наблюдается мгновенное срабатывание защиты.
Вот код, генерируемый компоновщиком FlProg в части настройки WDT
watchDogTimer = timerBegin(0, 80, true);
timerAttachInterrupt(watchDogTimer, &resetModule, true);
timerAlarmWrite(watchDogTimer,10000, false);
timerAlarmEnable(watchDogTimer);
А вот код из документации:
void startTimer() {
timer = timerBegin(0, 80, true); // timer_id = 0; divider=80; countUp = true;
timerAttachInterrupt(timer, &onTimer, true); // edge = true
timerAlarmWrite(timer, 1000000, true); //1000 ms
timerAlarmEnable(timer);
}
Очевидно, что FlProg делает установку в миллисекундах, в то время, как по мануалу нужно писать микросекунды.
Если в коде компоновщика FlProg поставить
timerAlarmWrite(watchDogTimer,10000000, false);
Тогда все начнет работать по документации.
Автору FlProg - огромное спасибо за труд. Ваше решение позволяет приобщить к интересному делу многих!
Суть ошибки: при включении защиты от зависания и установки времени контроля в 10 сек наблюдается мгновенное срабатывание защиты.
Вот код, генерируемый компоновщиком FlProg в части настройки WDT
watchDogTimer = timerBegin(0, 80, true);
timerAttachInterrupt(watchDogTimer, &resetModule, true);
timerAlarmWrite(watchDogTimer,10000, false);
timerAlarmEnable(watchDogTimer);
А вот код из документации:
void startTimer() {
timer = timerBegin(0, 80, true); // timer_id = 0; divider=80; countUp = true;
timerAttachInterrupt(timer, &onTimer, true); // edge = true
timerAlarmWrite(timer, 1000000, true); //1000 ms
timerAlarmEnable(timer);
}
Очевидно, что FlProg делает установку в миллисекундах, в то время, как по мануалу нужно писать микросекунды.
Если в коде компоновщика FlProg поставить
timerAlarmWrite(watchDogTimer,10000000, false);
Тогда все начнет работать по документации.
Автору FlProg - огромное спасибо за труд. Ваше решение позволяет приобщить к интересному делу многих!
-
- Сержант
- Сообщения: 138
- Зарегистрирован: 19 апр 2018, 13:37
- Имя: Павел
Версия 6.3.х
Может это можно обойти программно? Реально не хорошо получается если контроллер виснет. Так же виснет он не больших наводок на кабель с I2C (правда может поиграться с подтягивающими резисторами может помощь, но это не точно).Ingwar писал(а): 19 фев 2020, 11:48 Вот одна из плат, где я использовал эту микруху.
[spoiler]Безымянный.png[/spoiler]
Но опять же - ЗАВИСАЕТ КОНТРОЛЛЕР если нет связи.
Может кто знает как программно сделать так если по шине I2C не приходит сигнал или приходят помехи, чтобы контроллер не вис?
Это реально поможет сделать проект более лучше и безопаснее
Автору FlProg - огромное спасибо за труд
-
- Сержант
- Сообщения: 138
- Зарегистрирован: 19 апр 2018, 13:37
- Имя: Павел
Версия 6.3.х
viewtopic.php?p=85100#p85100
Как я ранее писал в сообщение #140
viewtopic.php?p=85171#p85171
Как я ранее писал в сообщение #149
Реально помогло следующее:
1) viewtopic.php?p=85240#p85240
Спасибо [ref]ussrtk[/ref],
Ошибка в работе Сторожевого таймера ушла в прошлое и теперь ESP32 перезагружается как положено. (Автору нужно поправитьв коде в новой версии программы)
2) viewtopic.php?p=85181#p85181
Спасибо [ref]o615ye161[/ref],
Подтяните на микросхеме MCP23017 резистором 1К VCC ножку к reset. Перестало виснуть от переключения развалюшек, но зависания от наводок от пальца остались, думаю что нужно добавить в описание к MCP23017 эту картинку
[spoiler] [/spoiler]
viewtopic.php?p=85248#p85248
Как я ранее писал в сообщение #161
Источник https://catethysis.ru/stm32_i2c/, и др форуму
От этой проблемы избавиться не получается, уменьшал резисторы как пишут (от 2,2К ом до 4,7К ом для 3,3v логики) и (от 4К ом до 10К ом для 5v логики) (для длинных линий до 1 метра можно использовать 1К ом, опасно, я так не делал) сильно не помогло. Уменьшение длинны проводов помогло косвенно так как просто стал их задевать реже, если провезти над оставшемся проводком пальцем контроллер виснет.
Так же пишут, что можно уменьшить скорость самой шины может помощь решить эту проблему, но это нужно делать в библиотеке. Наибольшее распространение получили в текущий вариант реализации I2C с частотой шины 10кбит/с — в медленном режиме, 100 kHz (Standard mode) и 400 kHz (Fast mode), I2C версии 2.0, которая позволяет достичь гораздо больших скоростей, в 2-3 Мбит/с, но они пока что весьма редкие. Возможно есть возможность добавить настройку для этой шины, где добавить возможность выбора скорости шины.
Как я ранее писал в сообщение #140
viewtopic.php?p=85171#p85171
Как я ранее писал в сообщение #149
Реально помогло следующее:
1) viewtopic.php?p=85240#p85240
Спасибо [ref]ussrtk[/ref],
Ошибка в работе Сторожевого таймера ушла в прошлое и теперь ESP32 перезагружается как положено. (Автору нужно поправитьв коде в новой версии программы)
2) viewtopic.php?p=85181#p85181
Спасибо [ref]o615ye161[/ref],
Подтяните на микросхеме MCP23017 резистором 1К VCC ножку к reset. Перестало виснуть от переключения развалюшек, но зависания от наводок от пальца остались, думаю что нужно добавить в описание к MCP23017 эту картинку
[spoiler] [/spoiler]
viewtopic.php?p=85248#p85248
Как я ранее писал в сообщение #161
Источник https://catethysis.ru/stm32_i2c/, и др форуму
От этой проблемы избавиться не получается, уменьшал резисторы как пишут (от 2,2К ом до 4,7К ом для 3,3v логики) и (от 4К ом до 10К ом для 5v логики) (для длинных линий до 1 метра можно использовать 1К ом, опасно, я так не делал) сильно не помогло. Уменьшение длинны проводов помогло косвенно так как просто стал их задевать реже, если провезти над оставшемся проводком пальцем контроллер виснет.
Так же пишут, что можно уменьшить скорость самой шины может помощь решить эту проблему, но это нужно делать в библиотеке. Наибольшее распространение получили в текущий вариант реализации I2C с частотой шины 10кбит/с — в медленном режиме, 100 kHz (Standard mode) и 400 kHz (Fast mode), I2C версии 2.0, которая позволяет достичь гораздо больших скоростей, в 2-3 Мбит/с, но они пока что весьма редкие. Возможно есть возможность добавить настройку для этой шины, где добавить возможность выбора скорости шины.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей