Olá, estava com minha placa esp funcionando perfeitamente, porém hj fui rodas um blink e nada acontece. a ide carrega o codigo, o led da placa pisca como se estivesse sendo gravado, porém o código não roda. tentei mandar algo para a serial, mas ela me retorna isso:

ets Jan 8 2013,rst cause:2

Alguem ja passou por isso?

Exibições: 3574

Responder esta

Respostas a este tópico

Bom dia, 

Informe todos os detalhes da sua montagem. 

1) Qual placa ou módulo esta usando? 

2) Como esta alimentando o circuito?

3) Testou o Blink com a IDE Arduino?

4) Tem algum circuito conectado na sua placa ESP8266? Se tiver, desconecte-o e teste novamente. 

5) Teste com outro exemplo.

Cause 2 :

2 -> software watch dog reset (From an exception)

Estou usando a esp8266 nodeMCU (foto).

Ja testei o blink, como descrito acima. Tanto onboard quanto externo. Tentei rodar ele em cada porta, mas o mesmo problema: o codigo compila, mas nao roda na placa. Pensei ser a alimentação do PC, então liguei em uma fonte regulavel, e o problema persiste. 

perceba que caso esteja declarando o blink para a variavel LED_BUILTIN , é necessário para algumas placas especificar no menu da ide Arduíno, qual é o led onboard da placa, vá em tools (ferramentas) > builtin led: e troque o valor de 2 para 16 e teste, se não resolver, teste especificar no código.

ja tentei isso tambem. Testei  o blink em todas as portas.

Bom dia, 

Copie todas as mensagens que aparecem na barra inferior da Arduino IDE, quando grava o código Blink no seu módulo ESP8266 Dev Kit. Pressione o botão (copiar mensagens de erro) .

Copie e a envie a tela da IDE,  a tela da console serial também. 

Recomendo o estudo dos meus tutoriais:

https://blog.eletrogate.com/nodemcu-esp12-introducao-1/

https://blog.eletrogate.com/nodemcu-esp12-usando-arduino-ide-2/

https://blog.eletrogate.com/nodemcu-esp12-alarme-residencial-iot-3/

Executable segment sizes:


IROM : 228624 - code in flash (default or ICACHE_FLASH_ATTR)


IRAM : 26756 / 32768 - code in IRAM (ICACHE_RAM_ATTR, ISRs...)


DATA : 1248 ) - initialized variables (global, static) in RAM/HEAP


RODATA : 688 ) / 81920 - constants (global, static) in RAM/HEAP


BSS : 24880 ) - zeroed variables (global, static) in RAM/HEAP


O sketch usa 257316 bytes (24%) de espaço de armazenamento para programas. O máximo são 1044464 bytes.
Variáveis globais usam 26816 bytes (32%) de memória dinâmica, deixando 55104 bytes para variáveis locais. O máximo são 81920 bytes.
esptool.py v2.8
Serial port COM6
Connecting....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 84:f3:eb:18:48:75
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 261472 bytes to 193180...

Writing at 0x00000000... (8 %)
Writing at 0x00004000... (16 %)
Writing at 0x00008000... (25 %)
Writing at 0x0000c000... (33 %)
Writing at 0x00010000... (41 %)
Writing at 0x00014000... (50 %)
Writing at 0x00018000... (58 %)
Writing at 0x0001c000... (66 %)
Writing at 0x00020000... (75 %)
Writing at 0x00024000... (83 %)
Writing at 0x00028000... (91 %)
Writing at 0x0002c000... (100 %)
Wrote 261472 bytes (193180 compressed) at 0x00000000 in 17.1 seconds (effective 122.2 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

Essas sao as mensagem que aparecem depois do codigo carregado. Nao apresenta erros, pois o codigo carrega normalmente, a placa apenas nao executa.

Bom dia LR,

O que está ocorrendo com seu ESP8266 é "normal".

A mensagem "ets Jan 8 2013,rst cause:2, boot mode:(1,6)"  dá o motivo de carregar e não funcionar

o Blink ou qq outro código carregado nele.

O seu ESP8266 está tentando um boot na UART e não na memória flash onde está seu código.

Esta mensagem informa:

 1.  rst cause:2, --  >  O boot foi causado pelo botão de reset que foi pressionado;

 2.   boot mode:(1,6);

       mode 1,y --->  Significa que o Port 15 está em LOW, o Port 0 está em LOW e o Port  2 está em HIGH.

       mode x,6 --->  O boot foi  flash memory. SDIO LowSpeed v1 IO, UART1 booting.

Com esta mensagem podemos ver que não vai funcionar após carregar o programa,

pois o Port 0 está em LOW.

Se vc tiver algo ligado no Port 0, remova e de um reset, e a msg deve mudar para 

"ets Jan 8 2013,rst cause:2, boot mode:(3,6)"  e deverá então piscar o LED.

RV

Para mais informações descrições abaixo:

links.

https://arduino-esp8266.readthedocs.io/en/latest/faq/a01-espcomm_sy...
https://arduino-esp8266.readthedocs.io/en/latest/boards.html#boot-m...
https://riktronics.wordpress.com/2017/10/02/esp8266-error-messages-...

Descrições:

Then open a terminal at 74880 baud, and look what message is reported when ESP is being reset for programming. Correct message looks as follows:


reset causes:        0:       

                              1: normal boot       

                              2: reset pin       

                              3: software reset       

                              4: watchdog reset
    boot device:       

                             0:       

                            1: ram       

                             3: flash

//------------------------------------------------------------------------------------------

mode:(X,Y)
X  ==

   GPIO15   GPIO0   GPIO2    Mode         Description

        L            L           H            UART         Download code from UART

        L            H           H           Flash          Boot from SPI Flash

        H            x           x            SDIO          Boot from SD-card

     In the bootup message 'boot mode:(x,y)' three low bits of x are {MTDO, GPIO0, GPIO2}.

Y ==

Value of “n” SD_sel != 3 SD_sel == 3

        0 Remapping _

        1 UART boot _

         2 Jump boot _

         3 Flash boot _

         4 SDIO LowSpeed V2 IO UART1 booting

         5 SDIO HighSpeed V1 IO UART1 booting

         6 SDIO LowSpeed V1 IO UART1 booting

         7 SDIO HighSpeed V2 IO UART1 booting
 

Meu boot 

             ets Jan  8 2013,rst cause:2, boot mode:(3,7)     3 = 0000 0011   GPIO15 L  GPIO0 H  GPIO2 H

Seu boot 

              ets Jan  8 2013,rst cause:2, boot mode:(1,6)     3 = 0000 0001   GPIO15 L  GPIO0 L  GPIO2 H

ja tinha visto dois desses links atras de uma solução, porém não há nada ligado ao esp. Estou tentando rodar o blink com o led onboard. Fiz inclusive um outro tutorial que achei, que dizia apenas para colocar um jumper entro o port 0 e 3.3V. e resetar. A mensagem muda para (5,6). Mas apenas enquanto o jumper esta ligado.

Verifica se realmente você colocou o Jumper no port 0,

pois a sua nova mensagem mostra que é o port 15 que está agora em HIGH.

5,6 ------> > > 5 = 0101  

   0

   1    Port 15 HIGH

   0    Port 0   LOW

   1    Port 2   HIGH

Ligue um resistor de 1K de Port 0   para +3,3V.

Mas tenha certeza que ligou o Port 0.

Um detalhe que ´pode confundir muita gente:

Os ports deste seu módulo informa o Dx e não o Portx.

Veja, o seu D0 é o port 16 (GPIO16).

Coloque o resistor no GPIO0, que é o seu D3.

Tem que ser assim: 

No ESP8266     No Nodemcu

         GPIO15              D8             LOW

         GPIO0                D3             HIGH

         GPIO2                D4             HIGH

RV

Finalmente!
fiz a ligação como voce disse e o codigo carregou. Quando tirei os jumpers funcionou perfeitamente. Porem, ele só funciona quando compilo o codigo com essa ligação feita. Sem eles apresenta o erro (1,7). 

Todas as vezes que for compilar, devo fazer esta ligação?

Lael boa tarde, 

Seu NodeMCU parece estar com defeito. 

Não é preciso nenhum jumper para compilar! 

E nenhum jumper para gravar o código na placa! 

Pode ser que você tenha queimado algum circuito da placa....

Essa é a minha conclusão. 

Em algumas placas NodeMCU, é necessário apertar o botão de FLASH, para gravar o código. 

https://blog.eletrogate.com/nodemcu-esp12-introducao-1/

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço