ни как не могу найти инфо как на этом модуле подключить скоростной счетчик. В боке есть выбор любого пина, но при заливке на ESP, плата постоянно перегружается. пробовал ставить задержку начала работы. перегружается ровно на эту задержку. еще пробовал 433 WL101-341 плату прикрутить, та же беда. не работает и все. пользовательские блоки вешают его на прерывание которого в описании модуля нет 0 или 1.
подскажите что тут я недопонимаю?
ардуинку суда добавлять, нет смысла, модуль должен справляться с задачей.
ESP8266 прерывания
ESP8266 прерывания
проверил на двух разных ESP, скечь пустой, только счетчик и отправка в юарт.
ответ такой:
ISR not in IRAM!
Abort called
>>>stack>>>
ctx: cont
sp: 3ffffdb0 end: 3fffffc0 offset: 01b0
3fffff60: 0016c821 00000000 3ffee250 4020145c
3fffff70: 00003381 00000001 3ffee250 3ffee2a8
3fffff80: 3fffdad0 00000000 3ffee230 401003da
3fffff90: 00000000 00000000 3ffee230 402010fc
3fffffa0: 3fffdad0 00000000 3ffee278 40201904
3fffffb0: feefeffe feefeffe 3ffe84f4 401006c5
<<<stack<<<
1» љщJш0
у меня ни каких мыслей не появляется, может кто то подскажет куда дальше копать?
Отправлено спустя 6 минут 4 секунды:
может так...
[spoiler]
extern "C" {
#include "user_interface.h";
}
bool _stou1 = 0;
bool _SCT_1_StDelSt = 0;
unsigned long _SCT_1_StDelTime = 0UL;
int _SCT_1_CPOP = 0;
void setup()
{
Serial.begin(9600);
pinMode(2, INPUT);
_SCT_1_StDelTime = millis();
}
void loop()
{
//Плата:1
//Наименование:Pagr
if(! _SCT_1_StDelSt) { if (_isTimer(_SCT_1_StDelTime, 5000)) {
_SCT_1_StDelSt = 1;
attachInterrupt(digitalPinToInterrupt (2), _SCT_1positiveCoutFunction, RISING );
}}
if (!(0)){if (!_stou1){Serial.println(_SCT_1_CPOP); _stou1=1;}} else {_stou1=0;}
}
bool _isTimer(unsigned long startTime, unsigned long period )
{
unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));}
}
void _SCT_1positiveCoutFunction()
{ _SCT_1_CPOP = _SCT_1_CPOP +1;
} [/spoiler]
ответ такой:
ISR not in IRAM!
Abort called
>>>stack>>>
ctx: cont
sp: 3ffffdb0 end: 3fffffc0 offset: 01b0
3fffff60: 0016c821 00000000 3ffee250 4020145c
3fffff70: 00003381 00000001 3ffee250 3ffee2a8
3fffff80: 3fffdad0 00000000 3ffee230 401003da
3fffff90: 00000000 00000000 3ffee230 402010fc
3fffffa0: 3fffdad0 00000000 3ffee278 40201904
3fffffb0: feefeffe feefeffe 3ffe84f4 401006c5
<<<stack<<<
1» љщJш0
у меня ни каких мыслей не появляется, может кто то подскажет куда дальше копать?
Отправлено спустя 6 минут 4 секунды:
может так...
[spoiler]
extern "C" {
#include "user_interface.h";
}
bool _stou1 = 0;
bool _SCT_1_StDelSt = 0;
unsigned long _SCT_1_StDelTime = 0UL;
int _SCT_1_CPOP = 0;
void setup()
{
Serial.begin(9600);
pinMode(2, INPUT);
_SCT_1_StDelTime = millis();
}
void loop()
{
//Плата:1
//Наименование:Pagr
if(! _SCT_1_StDelSt) { if (_isTimer(_SCT_1_StDelTime, 5000)) {
_SCT_1_StDelSt = 1;
attachInterrupt(digitalPinToInterrupt (2), _SCT_1positiveCoutFunction, RISING );
}}
if (!(0)){if (!_stou1){Serial.println(_SCT_1_CPOP); _stou1=1;}} else {_stou1=0;}
}
bool _isTimer(unsigned long startTime, unsigned long period )
{
unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));}
}
void _SCT_1positiveCoutFunction()
{ _SCT_1_CPOP = _SCT_1_CPOP +1;
} [/spoiler]
-
- Полковник
- Сообщения: 4010
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 155 раз
ESP8266 прерывания
Проверил Ваш скетч, и он у меня работает - кнопочку нажимаю на D4 - светодиод загорается, отпускаю - тухнет.
Проверял на NodeMCU-0.9
По Вашей ситуации - я её понимал до испытаний, но все же промоделировал - примерно так как Вы написали - перезагрузка, сообщения немного отличаются.
Теперь о причинах - они связаны с особенностью загрузки программы в ESP8266 при включении питания.
Требования к загрузке ESP8266 загруженного скетча: состояния пинов должны быть D3(0)=1; D4(2)=1; D8(15)=0.
В Вашем случае Ваша кнопка (или вход нормально замкнут) и потому ESP8266 не может загрузить скетч.
Поставьте нормально открытый контакт на D4(2) - куда Вы подключили кнопку, и будет работать.
А лучше выбрать другой пин.
Успехов.

Проверял на NodeMCU-0.9
По Вашей ситуации - я её понимал до испытаний, но все же промоделировал - примерно так как Вы написали - перезагрузка, сообщения немного отличаются.
Теперь о причинах - они связаны с особенностью загрузки программы в ESP8266 при включении питания.
Требования к загрузке ESP8266 загруженного скетча: состояния пинов должны быть D3(0)=1; D4(2)=1; D8(15)=0.
В Вашем случае Ваша кнопка (или вход нормально замкнут) и потому ESP8266 не может загрузить скетч.
Поставьте нормально открытый контакт на D4(2) - куда Вы подключили кнопку, и будет работать.
А лучше выбрать другой пин.
Успехов.
ESP8266 прерывания
спасибо за ответ,
дело не в загрузке. плата WeMos Mini и nodemcu. они рабочие, и скетч грузится при подключений. проверяю дописав код мигания светодиода. к пинам не подключал ничего. держу на usb проводе в воздухе. диод мигает ровно столько сколько прописал паузу на задержку начала работы скоростного счетчика. если удаляю его блок, все начинает работать как нужно.
дело не в загрузке. плата WeMos Mini и nodemcu. они рабочие, и скетч грузится при подключений. проверяю дописав код мигания светодиода. к пинам не подключал ничего. держу на usb проводе в воздухе. диод мигает ровно столько сколько прописал паузу на задержку начала работы скоростного счетчика. если удаляю его блок, все начинает работать как нужно.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Vibe 29 июл 2019, 21:13, всего редактировалось 1 раз.
ESP8266 прерывания
я наверно что то не до понимаю, но могу уверить что проверил все ноги и даже с минимальным кодом. скоростной счетчик на ESP не работает!!!
проверял прям так как на картинках.
может кто то подскажет как обойти этот счетчик другими методами?
проверял прям так как на картинках.
может кто то подскажет как обойти этот счетчик другими методами?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя