基础篇(一):volatile的使用(没你想得那么简单)
在没有详细了解volatile关键字作用之前,我一直都是认为加上这个关键字只是每次读取都会从内从中读取,而不是会被编译器优化。实际上只要变量可能被意外的修改,就需要把该变量声明为volatile。在实际应用中,只有三种类型数据可能被修改:外设寄存器地址映射在中断服务程序中修改全局变量在多线程、多任务应用中,全局变量被多个任务读写接下来,我们将分别讨论上述三种情况。外设寄存器嵌入式系统包含真正的硬件,通常会有复杂的外设。这些外设寄存器的值可能被异步的修改。举个简单的例子,我们要把一个8-bi
原创
2021-11-30 13:28:33 ·
503 阅读 ·
0 评论