C was the first programming language I learnt. I haven't used it in years, but I might be able to help.
Personally, though if I were getting into embedded development now, I would use Rust and not C or C++. It has the same (or better) performance, is a safer language (no dangling or NULL pointers, etc.) and is updated regularly. Furthermore, it has full ARM support so you can use it on a Raspberry Pi. The Linux kernel developers are discussing whether to allow it to be included in Linux kernel code so as you can imagine it is gaining quite a large following.
https://www.rust-lang.org/