KEIL C51结构体问题求助

typedefstruct{u8ODR;u8IDR;u8DDR;u8CR1;u8CR2;}GPIO_REG;GPIO_REG*GPIOA;GPIOA->ODR=0X00;... typedef struct
{
u8 ODR;
u8 IDR;
u8 DDR;
u8 CR1;
u8 CR2;
}
GPIO_REG;
GPIO_REG *GPIOA;
GPIOA->ODR=0X00;
GPIOA->IDR=0X01;
GPIOA->DDR=0X02;
GPIOA->CR1=0X04;
GPIOA->CR2=0X08;
请问一个问题,这个结构体在C51中运作的结果为什么不正确
运行完成后结构体的内容不等于写的值
运作完后结构体的内容值如下图
展开
 我来答
worldrna
2012-05-04 · TA获得超过184个赞
知道小有建树答主
回答量:101
采纳率:0%
帮助的人:146万
展开全部
GPIO_REG *GPIOA; // 这条语句你只是定义了一个结构体指针,没有定义一个结构体变量。
就是说GPIOA没有指向一个有效的结构体变量,是个野指针。并且Keil把GPIOA初始化成了0x00,这是寄存器组,程序运行时,寄存器里的值是会变的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式