[Local Link Removed for Guests] wrote: [Local Link Removed for Guests]Sun Feb 02, 2025 4:13 pm
esp32-S3 : (0x60008000 + 0xE8)
@cicciocb Thanks for the very fast response, but unfortunately it doesn't work. I think everything is simple but that isn't true!!
Result of my program:
Code: [Local Link Removed for Guests]
Adres=1610645736=$600080E8 -> bas.poke adres,0
Before Poke=4FFFC020 after Poke=0
But still a Brownout Reset.
So I did some more digging on the Espressif site and found the real call that is called by the Arduino call. I think the ETS_UNCACHED_ADDR call does something completely different than I (simple soul) think. So the call is:
Code: [Local Link Removed for Guests]
Arduino call to switch of Brownout:WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);
Espressif: #define WRITE_PERI_REG(addr, val) do { \
(*((volatile uint32_t *)ETS_UNCACHED_ADDR(addr))) = (uint32_t)(val); \
} while(0)
With the definitions:
#define RTC_CNTL_BROWN_OUT_REG (DR_REG_RTCCNTL_BASE + 0xE8)
#define DR_REG_RTCCNTL_BASE 0x60008000
So my simple idea of simply Poking a ZERO at address 0x600080E8 doesn't work.
Does anyone have a good idea, otherwise I'll have to use a old-fasioned switch out of misery??
BTW, switching off this brown-out can also be a stopgap with the ESP-Cam that keeps rebooting.