|
看了别人的驱动程序,发现结构体用的很频繁,自己以前很少用,便试了一下,发现在结构指针的使用上有个奇怪的问题
使用单片机:NXP的P89V51RD2
测试程序:
typedef struct
{
uchar name;
uchar sex;
uchar city;
}Test,*pTest;
void main()
{
pTest card; //定义结构指针变量
card->name = 0x08; //结构体赋值
card->sex = 0x28;
card->city = 0xff;
P2 = card->name;
while(1)
;
}
调试后发现不管car->name怎么赋值,P2端口观察到的结果都会不是原来赋给它的值,如上面这个程序就测得P2=0x00.
这是怎么回事?希望各位能帮我解决下
|
|