olewolf / DHT_nonblocking

Non-blocking Arduino library for the DHT11, DHT21, and DHT22 sensors
GNU General Public License v3.0
37 stars 28 forks source link

read_data() clearification questions #13

Open Roberto888888 opened 7 months ago

Roberto888888 commented 7 months ago

Hi Ole, I hope you'll read this after so many years. It's not an issue, just a doubt I can't find an answer to and I don't know how to get in touch directly.

I'm using this library to learn Arduino and I don't fully understand a couple of point in the code for the method read_data() in dht_nonblocking.cpp, specifically the part regarding blocking interrupts. I do understand how it works but not why it's programmed the way it is:

  1. Why is a DHT_interrupt object used to call the functions noInterrupt() and interrupt() through the constructor and destructor? Isn't it the same to just call the functions directly?
  2. Why does the same object need to be declared as volatile? The class doesn't have any member so what does the qualifier achieve?

Thank you. Med venlig hilsen.