Функция WeMos (ESP8266) во время

У моей функции пока есть проблема. Когда я комментирую, эта строка не имеет ошибки в серийном номере монитора, но когда я использую все функции, эта ошибка отображается в серийном номере монитора.

void windvelocity(){
speedwind = 0;
counter = 0;  
attachInterrupt(0, addcount, RISING);
unsigned long millis();       
long startTime = millis();
while(millis() < startTime + period) {
}
}

Когда я загружаю эту функцию в wemos, последовательный монитор печатает это

ets Jan  8 2013,rst cause:2, boot mode:(3,6)
load 0x4010f000, len 1384, room 16 
tail 8
chksum 0x2d
csum 0x2d
v09f0c112
~ld

person MSilveira    schedule 13.10.2017    source источник
comment
Как вы питаете свой ESP8266?   -  person Defozo    schedule 13.10.2017
comment
Эта функция предназначена для просмотра скорости анемометра.   -  person MSilveira    schedule 13.10.2017


Ответы (2)


Это не сообщение об ошибке, а стандартное загрузочное сообщение. Чтобы правильно ответить на ваш вопрос, нам нужно знать, какую именно плату вы используете, как вы соединили свои части (какие контакты, напряжение и т. д.), какие части и, конечно же, полный код.

Пожалуйста, помните, что коммутационные платы для esp8266 (например, node mcu) иногда сбивают с толку. Поэтому всегда дважды проверяйте, какие выводы вы хотите использовать и какие выводы вы указали в своем коде.

nodemcu esp8266 распиновка

wemos d1 mini esp8266 распиновка

Например, если вы хотите иметь D0 в качестве выхода для чего-то, возможно, для светодиода, вам придется объявить его как выход.

pinMode(16, Output);           // set pin to output

Или, если вы хотите использовать его в качестве входа (например, для датчиков), используйте

pinMode(16, Input);            // set pin to input

Вы спросите, почему 16, если вы хотите использовать D0? Взгляните на это для больше информации о том, как обращаться к контактам как к входу или выходу. Там вы можете увидеть, какие контакты использовать.

person x3l51    schedule 14.10.2017
comment
Тогда любой GPIO может быть входом или выходом? Я думаю, что мои WeMos не работают по этому поводу, потому что что-то я заявляю, но не работают о том, что мне нужно :/ - person MSilveira; 17.10.2017
comment
Ok! Спасибо буду тестить! Но любой вывод, который является GPIO, кроме D0 (в wemos), я могу объявить вводом или выводом? - person MSilveira; 17.10.2017
comment
Насколько я знаю, да. Вы можете прочитать о методах ввода здесь. Это важно, потому что не каждая плата может обрабатывать все входные данные. Важно знать о резисторах и о том, как их использовать. Дайте мне знать, если это сработало для вас, пожалуйста! - person x3l51; 17.10.2017
comment
Я вижу и тестировал, но моя проблема, которую я изучал, связана со сторожевым таймером, потому что в коде есть этот цикл. Штифты я подгонял под свою доску. У вас есть предложение о том, как это изменить, чтобы не оставаться в этой бесконечной петле, или как мне ввести время для проверки? Потому что, как всегда, мне нужно скомпилировать это, сторожевой таймер понимает, что моя система заблокирована :/ - person MSilveira; 18.10.2017
comment
void windvelocity(){ скорость ветра = 0; счетчик = 0; attachInterrupt(0, addcount, RISING); беззнаковая длинная миллис(); длинное время начала = миллис(); while(millis() ‹ startTime + период) { } } - person MSilveira; 18.10.2017
comment
Пожалуйста, откройте еще один вопрос для этого. Это не связано с вашим первоначальным вопросом. Постараюсь помочь и тогда! Не забудьте указать весь код и тип платы/датчиков, которые вы используете. Удачи! - person x3l51; 18.10.2017
comment
Но в моем первоначальном вопросе есть разница в том, что теперь у меня больше информации о проблеме в моей функции и ваших результатах. - person MSilveira; 18.10.2017
comment
Но в моем первоначальном вопросе, tur diferente, теперь у меня больше информации о проблеме в моей функции и ваших результатах. - person MSilveira; 18.10.2017

Причина сброса 2 означает сброс с помощью триггера сброса. Прикрепите анемометр к другому контакту и измените свой код, чтобы он соответствовал аппаратной схеме.

person BMelis    schedule 13.10.2017
comment
Я проверил код в Arduino, и он работает, но в моем Wemos не работает. Можно ли объявить контакты INPUT и OUTPUT? Потому что это объявление в esp8266 не работает - person MSilveira; 17.10.2017
comment
многие контакты на wemos специальные, только GPIO4+5 полностью лишены побочных эффектов - person dandavis; 21.10.2017