So I finally got to program some PIC C code for real (job requirements). It's so much fun ! Undoubtedly this is what I wanted when I thought I love embedded programming.

No operating system, *bare metal*. Simulating multithreading with timer interrupts, attomic flag assigns / checks and double-buffering (fifo-s) to synchronize between asynchronous domains, etc.

It's very exciting to count exact time using asm("nop") commands and by setting timer interrupts.

In some sense it's much more interesting thant PC application programming - you feel the stuff you do *really* works.