英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

标题: PICC 9.65的指针出错!! [打印本页]

作者: min    时间: 2012-8-17 18:53
标题: PICC 9.65的指针出错!!
我目前使用的mcu是pic16F946,编译器是PICC 9.65,使用到指针类型,编译出来后指针宽度2 byte,但是寄存器保留的是1 byte的宽度,造成了其余寄存器的赋值被更改!!!

这么低级的错误也被编译器做出来了,郁闷!
有没有其他的解决办法?

下面是测试代码,大家可以编译一下看看。
#include <pic.h>

unsigned char k1, k2, k3, *p1, *p2, *p3;
unsigned char k4, k5, k6;
void main()
{
for(;;)
{
  k1 = 1;
  k2 = 3;
  k3 = 0x13;
  
  p1 = &k1;
  k4 = *p1;
  p2 = &k2;
  k5 = *p2;
  p3 = &k3;
  k6 = *p3;
}
}


此主题相关图片如下:c2.bmp

[attach]478[/attach]
作者: min    时间: 2012-8-17 18:54
我标出来的是指针地址,不是指针




欢迎光临 英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 (http://www.enroobbs.com/) Powered by Discuz! X3.2