Hello , is there a function or some codes to do an ADC read non blocking operation on an ESP8266 ? i need your help
Create an account to leave a comment.
Already have an account?
I've made the experience that, on my circuits, it can actually depend a little bit on which USB port I plug it in to!
Some are reliable, some don't quite work. If you have a physical power switch that only cuts power to the ESP, you can try using that to turn the ESP on and off during the initial connecting stage of the flashing cycle, that can actually make it go into flash mode.
Oh BTW, the transistors for the auto-programming circuit might not be necessary, and is a bit of a mystery, really.
Are you sure? yes | no
I2S + DMA is what you're looking for. See @Simon Merrett's reference above.
You might find this article useful: https://www.toptal.com/embedded/esp32-audio-sampling
He shows how to setup a dedicated sampling task outside of your main loop, with several key optimizations. He also peels apart the standard analog_read function to make it possible to sample from a timer interrupt. Should be able to do the same with the esp8266 core.
Also, if switching to an ESP32 is an option, you might find some of my demos useful, from this project: https://hackaday.io/project/170710-esp32-tnc-and-audio-relay-for-hfvhf-packet-radio
Thanks i have used esp32 for ADC Read nonblocking and it has worked very well but esp32 is more expensive so i wanted to do same with the 8266 core . The link does not go thanks.
As far as I know, the SDK does not support non-blocking ADC operation. And since there are no register definitions for the ADCs in the official reference manual, the only way to get this to work would be by digging through the SDK assembly.
In short, as far as I know it's (more or less) impossible.
I see . The assembly will be a very hard coconut to crack thanks Daniel.
© 2021 Hackaday