这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » c51 c51 绝对地址问题探讨!

共2条 1/1 1 跳转至

c51 c51 绝对地址问题探讨!

院士
2006-09-17 18:14:16     打赏
c51 c51 绝对地址问题探讨!



关键词: 绝对     地址     问题     探讨    

院士
2006-12-22 22:43:00     打赏
2楼
问 我在程序区高端放了一片数据,准备在程序中读取,采用如下两种绝对地址读取方法都没有得到准确数据,希望朋友们探讨一下!
1、#include    <absacc.h>void main(void)
{
    unsigned char data i;
    unsigned int data j;
    P2 = CBYTE[0x8003];
                            
}  //实际对比8003和p2数据完全不一样!

2、uchar code * ssp
   ssp=0x8003;
   p2=*ssp;
//实际对比p2和0x0003数据一样!
1: 將data改為xdata試下看 2: 跟data,xdata没有任何关系!跟data,xdata没有任何关系! 3: 汗!!!P2 = ????? 4: 怎么没关系?1、
    P2 = XBYTE[0x8003];
                            


2、
   uint ssp;
   ssp=0x8003;
   p2=(unsigned char xdata*)ssp;
5: XBYTE,能用来取程序储存的数据吗? 6: 汗!没看清,原来是从程序区取数据,抱歉1、P2 = CBYTE[0x8003];

2、
   uint ssp;
   ssp=0x8003;
   p2=(unsigned char code*)ssp;

不过不过问题是你的flash程序区多大呀,如果片内flash是<32k。你访问8003就是访问外部程序区,这时候P2既是高位地址线又是IO恐怕不合适,而且如果外部没有程序存储器那么空读的结果是可想而知的。除非使用的是64k片内程序,而且无外部数据总线操作,否则P2难以静止保持。 7: cbyte没用过,指针这样用过用指针我是这样用的
unsigned char code *ptr;
ptr=0x8003;
P2=*ptr;

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]