DHT11s read fine from loop, but first one in list doesn't work when in timer...?

Awesome, thanks so much everyone :slight_smile:

I've been doing a lot of reading and Googling this morning, and this is kind of a basic summary of what I've learned (that's related to this particular issue anyhow.)

The fact that I'm calling the function (or executing the code) from within the ISR is most likely the culprit. It appears that when you're in an ISR, all the timers are disabled, including the ones that are used by millis(), etc. I'm using the Adafruit DHT11 library currently, and it does depend on the millis() function (among others,) so that would explain things.

It looks like the reason that throwing the code out into a separate function doesn't work is because it's executing the function synchronously, so at that point, the timers are still disabled since I'm still technically in the ISR. Out of curiosity, is there a way to call a function asynchronously? (Sorry, my C is a bit rusty, it's only been, oh, 15 years since I've done any C programming at this point...)

Lar3ry, I'll definitely look into that interrupt-based DHT library, it might help out with what I'm trying to do.

If nothing else, I'll either switch over to using millis(), or just use the ISR to set a flag to have the function kick off as a part of my loop().

Thanks so much everyone! So much to learn :slight_smile: I'm looking forward to the day when I'll feel like I'm able to contribute instead of just asking a myriad of questions... :stuck_out_tongue: