STM32程序问题 求具体含义和详细解释!!!!!追加很多分!!!!!!!!

#define__IOvolatiletypedefunsignedintuint32_t;typedef__IOuint32_tvu32;typedefunsigned... #define __IO volatile
typedef unsigned int uint32_t;
typedef __IO uint32_t vu32;
typedef unsigned short int uint16_t;
展开
 我来答
百度网友3b8fe08
2013-11-05
知道答主
回答量:7
采纳率:0%
帮助的人:3万
展开全部
1、volatile 就是个关键字,代表该关键字具体数值会预想不到的被改变,避免编译器优化掉。更具体的理解可以在论坛上搜索。(解释很多字,这里不好打出来)
2、typedef也是一个关键字,其实就是给另外的变量换一个名字而已。
例如:typedef unsigned char uint8_t;
后面你要定义一个unsigned char 型变量:
unsigned char a;等同于uint8_t a;有没有觉得后面的定义比前面更易读?
其实标准的命名是这样:uint8_t u8_a;这样后面你用这个变量,时刻都清除这个变量是无符号占8个字节,这样就会大大避免数据溢出这个错误。
追问
最主要的是typedef __IO uint32_t  vu32;代表啥意思?如果单只是unsigned   int好理解,但是加上_IO就不知道怎么回事了。
追答
上面的宏定义不是说的很清楚了吗?
#define __IO volatile
typedef unsigned int uint32_t;
typedef __IO uint32_t vu32;
那么vu32 b;就等同于 volatile unsigned int b;说明这是个会经常改变的无符号整型数据
lisaziho
2013-11-04 · TA获得超过405个赞
知道小有建树答主
回答量:537
采纳率:0%
帮助的人:300万
展开全部
typedef看英文大概意思是 类型定义,就是给已有的类型或名字取另外一个新的名字
你以后在其他地方用到unsigned int就可以用uint32_t来代替

uint16_t代替unsigned short int

vu32大题__IO uint32_t

比如uint16_t i,j; ==>等同于unsigned short int i,j;
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xc1901016
2013-11-05 · TA获得超过149个赞
知道答主
回答量:211
采纳率:0%
帮助的人:70.9万
展开全部
__IO 就是volatile

#define __IO volatile
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小白范
2013-11-05 · TA获得超过357个赞
知道小有建树答主
回答量:309
采纳率:50%
帮助的人:280万
展开全部
建议你百度一下define和typedef
或者去看书,一般书上都会讲得比较详细。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式