*(uint32_t *)0x40021018 = 0x00000004;
Actually that line is not ok. But for another reason. Without "volatile" in there, the compiler may reorder this access with others, or remove it, or combine it with others. None of that is good. *(uint32_t *)0x40021018 = 0x00000004;
Actually that line is not ok. But for another reason. Without "volatile" in there, the compiler may reorder this access with others, or remove it, or combine it with others. None of that is good.