当前位置: 代码迷 >> 单片机 >> 关于volatile解决方法
  详细解决方案

关于volatile解决方法

热度:100   发布时间:2016-04-28 15:05:42.0
关于volatile
volatile int AHBSEL: 3;
这句话什么意思啊?
------解决方案--------------------
AHBSEL 占三位(即值在0:7)
volatile表示该值可能被硬件修改或者被中断修改
------解决方案--------------------
引用:
请问从低到高的前三位吗?三位值是随机的吗?

连着的三位,这里是bit0:bit2

举个例子,一个键盘有ABCDEF6个键,定义时可以这样

typedef struct{
  unsigned char a:1;//成员a占1位
  unsigned char b:1;
  unsigned char c:1;
  unsigned char d:1;
  unsigned char e:1;
  unsigned char f:1;
  unsigned char res:2;
}KEY_T;
KEY_T key;

这样key占一个字节,abcdef各占其中1位
------解决方案--------------------
引用:
Quote: 引用:

请问从低到高的前三位吗?三位值是随机的吗?

连着的三位,这里是bit0:bit2

举个例子,一个键盘有ABCDEF6个键,定义时可以这样

typedef struct{
  unsigned char a:1;//成员a占1位
  unsigned char b:1;
  unsigned char c:1;
  unsigned char d:1;
  unsigned char e:1;
  unsigned char f:1;
  unsigned char res:2;
}KEY_T;
KEY_T key;

这样key占一个字节,abcdef各占其中1位



------解决方案--------------------
volatile 表示被声明的变量让编译器别去优化,每次操作的时候,都切实的访问其物理存储空间
  相关解决方案