I created a ISR-controlled I2C-slave. It is working fine so far. The recieved data are collected in a buffer and when the stop-condition is detected, a final-flag "TransferFin" is set.
The main program is waiting for that flag in a infinitely "while" loop. I made this:
void ICACHE_FLASH_ATTR
main_loop (void)
{
uint8_t LV;
TransferFin = 0;
os_printf("TransferFin: %x\n", TransferFin);
while (1)
{
// os_printf("Transfer: %x\n", TransferFin); //for debug
if (TransferFin == 1)
{
os_printf("TransferFin: %x\n", TransferFin);//for debug
for (LV=0; LV < DatLen; LV++)
{
os_printf("%x\n", DatBuf[LV] );
}
TransferFin = 0;
os_printf("\n");
}
LV++;// for debug
}
}
I`m starting this main_loop at last in the "user_init()". But after that, the ESP8266 is rebooting about each 2 secundes.
What could be the reason?
Thank you for your support.
Greetings
Henry