Add a description, image, and links to the block-diagrams topic page so that developers can more easily learn about it.
My code uses avr-gcc util\atomic.h. For code block should be executed with disabled irqs and restore irqs state(disable, enable) after code block ends.