求大神解释typedef __IO uint8_t vu8;

2019-07-20 23:22发布

typedef __IO uint8_t  vu8;   是什么   运用时有什么作用?   在什么地方能用?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
edmund1234
1楼-- · 2019-07-21 02:10
简单而言, 就是叫编译器别多管闲事给这个类型的操作数据优化

比如
u8 x;

x++;
。。。。
x+=3;   << 编译器可能会把 x++ 及 x+=3, 优化成一句x+=4

如果说你不想编译器对x的操作做上面的优化, 就把x 的数型前面加 __IO 或 volatile
aleda303
2楼-- · 2019-07-21 07:45

typedef __IO uint8_t  vu8;

查看定义  __IO  为 volatile     uint8_t 为   unsigned char

那么 可以替换为
typedef volatile unsigned char vu8;

定义变量     vu8  x;     ==等价于==   volatile unsigned char x;

然后 你baidu下 volatile 的作用。

一周热门 更多>