Also as a person who came to Embedded/Electronics from the Software side, i found the following incredibly useful to bridge the software-hardware gap using MCUs;
1) Introduction to Embedded Systems: Using Microcontrollers and the MSP430 by Manuel Jiménez, Rogelio Palomera, Isidoro Couvertier - https://link.springer.com/book/10.1007/978-1-4614-3143-5
This has more of a hardware interfacing slant than most books on embedded systems which is what a software person needs. Every topic is first introduced in a general way with lots of illustrations and then its application in MSP430 is shown. Hence we can easily transfer our understanding to any other MCU family. A really good textbook for serious students of embedded electronics.