首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

能否定义一个指针变量、让其指向 SFR 寄存器?

2012-12-30 
可不可以定义一个指针变量、让其指向 SFR 寄存器?、可不可以定义一个指针变量、让其指向 SFR 寄存器?、程序中

可不可以定义一个指针变量、让其指向 SFR 寄存器?、

可不可以定义一个指针变量、让其指向 SFR 寄存器?、

程序中比如我有个结构体:
struct P1func
{
        unsigned char reserved : 4;
        unsigned char ctl : 1;
        unsigned char scan : 3;
};

struct P1func *p1f;
想让 p1f 指向 P1 的地址、
然后使用的时候直接就可以 p1f->ctl = 1 就将 P1.4 置位、

该怎么写?、或者能不能实现?、
[解决办法]
可以的呀,你这样不是已经可以了吗?只要再给p1f一个具体的地址,就可以了。
[解决办法]
指向寄存器,寄存器已经被分配了绝对地址。

还有确定是可以的。
[解决办法]
可以这样使用 
[解决办法]
不可以,寄存器和存储器(按地址存取)不是一回事。
[解决办法]
51里面不允许非sfr声明的变量定位到SFR区

像ARM这样的体系就很灵活,可以这么搞
[解决办法]
是可以的了,好像。我用飞思卡尔的单片机好像就是这样定义的了。

热点排行