我发现stm32f10x.h文件里进行了宏定义#define __O volatile /*!< defines 'write only' permissions */#define __IO volatile /*!< defines 'read / write' permissions */
但是通过网上查询对volatile没有太明白,想请问一下各位有没有什么简单的理解方式,我不要求太深入、太专业,只要能让我这个新人简单明白大概的作用即可,能举出例子更好。
非常感谢各位的教导!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
这种优化是很基本的,
你先要明白,我们虽然只是简单的给某变量赋值,
生成汇编代码时往往都需要通用寄存器作为中介的。
i=10汇编后的代码写成C语言相当于:R0=10; R1=i的地址; 然后STR R0,(R1)
就是这么费劲的,然后你马上又来一句j=i; 它会傻到再去取i的值吗? 直接就用R0中现存的值了。
一周热门 更多>