可不可以定义一个指针变量、让其指向 SFR 寄存器?、
本帖最后由 Volftooth 于 2012-11-21 15:01 编辑可不可以定义一个指针变量、让其指向 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 置位、
该怎么写?、或者能不能实现?、 不要再问这类问题了,不可能的。
SFR区只能直接寻址,使用指针了就是间接寻址了,必然冲突啊。 takashiki 发表于 2012-11-21 15:17 static/image/common/back.gif
不要再问这类问题了,不可能的。
SFR区只能直接寻址,使用指针了就是间接寻址了,必然冲突啊。 ...
因为有一位是在中断中控制的、如果在主循环中用 P1 赋值会对 P1.4 有影响、
有没有其它的方法?、 takashiki 发表于 2012-11-21 15:17 static/image/common/back.gif
不要再问这类问题了,不可能的。
SFR区只能直接寻址,使用指针了就是间接寻址了,必然冲突啊。 ...
因为有一位是在中断中控制的、如果在主循环中用 P1 赋值会对 P1.4 有影响、
有没有其它的方法?、 关中断,读,修改,写,开中断。
或者,把P1除了P1.4外的每一位单独写。 你还是分开来写吧 51有位寻址,为何不用?
页:
[1]