Newbie guy here.... I wrote code for my weather station using Aduino UNO board. All works. I then got an ESP-12E WeMos D1 WiFi UNO Based ESP8266 board to combine the UNO CPU with an ESP8266 WiFi card. I can get the card to work using the IDE and example code. When I run my original code into it with existing libraries, etc. for all my various weather sensors, I see that some things have changed. I seem to be missing libraries that I did not originally need (such as util/atomic.h). Also, some code in some libraries won't compile now.
So I get it - when you write code for one board and then change to another board to run it on, there are coding and/or library differences. If I knew what I was doing........ where would I go to find out what the differences were or how to handle this sort of situation?
The util/atomic.h problem is related to the different toolchain between the Uno (AVR architecture) and the WeMos D1 (ESP8266 architecture). The Arduino project tries to provide good intercompatibility between different hardware but sometimes it's difficult to resolve fundamental differences. Other times it may be that more obscure or low level differences are not made a high priority to deal with because they are either not a common problem or are used primarily by advanced users who don't get tripped up by the differences. I'm not aware of a comprehensive guide to navigating those sorts of issues. You just need to do a web search for the error message, maybe with some carefully selected keywords added, and hope for the best. I find that the best results I find come from https://github.com/esp8266/Arduino/issues, this forum, or to a lesser extent https://www.esp8266.com/.
Regarding differences in the standard Arduino library functions between Arduino AVR Boards and ESP8266 core for Arduino, things are better documented. The idea is that the ESP8266 core for Arduino has a compatible API as much as possible so generally you can just use the official Arduino reference pages as documentation and then any differences are documented here: