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

 找回密码
 立即注册
搜索
电子烟方案单片机单片机开发深圳单片机开发
单片机方案国产单片机8位单片机电子烟方案开发
查看: 4527|回复: 1
打印 上一主题 下一主题

PICC 9.65的指针出错!!

[复制链接]
跳转到指定楼层
1#
发表于 2012-8-17 18:53:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我目前使用的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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
2#
 楼主| 发表于 2012-8-17 18:54:18 | 只看该作者
我标出来的是指针地址,不是指针
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|公司首页|Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 ( 粤ICP备09008620号 )

GMT+8, 2024-11-24 01:44 , Processed in 0.053111 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表