导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→C51编程:很怪的问题[阿土]

 *第1702篇: C51编程:很怪的问题

  
楼 主:阿土 2001年12月27日10:35
 C51编程:很怪的问题
请看一下程序:

uchar readbuff[21];
uchar ReadChr(uchar byteaddr,uchar len) //从字节地址读取指定长度的字符
{                 
 uchar x; 
          MoveTo(byteaddr*8);    
          for(x=0;x<len; x++) 
            { 
                  readbuff[x]=ReadB();
            } 
              return 0;

在该函数中,开始自加值x开始时我选用的是程序当中的一个全局变量(uint I;),如下:
uchar readbuff[21];
uchar ReadChr(uchar byteaddr,uchar len) //从字节地址读取指定长度的字符
{                 
          MoveTo(byteaddr*8);    
          for(i=0;i<len; i++) 
            { 
                  readbuff[i]=ReadB();
            } 
              return 0;

程序运行后发现,仅执行了一次循环,且一下子就到了readbuff[8],给人的感觉是运行了
readbuff[8]=ReadB();而已。开始我怀疑是变量类型冲突,因为我的len 为 uchar,而I为
uint ;将len该成uint 后却仍然不行。后来就改成现在这样了,没有问题,但我不明白真正
的原因,有劳各位高手了!

  
2楼:龙川 2001年12月28日00:09
 其他的地方可用到这个全局变量I

>>>>>>对该主题发表你的看法

本主题贴数2,分页: [第1页]


[上一篇主题]:C51编程:老古,累死我了

[下一篇主题]:硬件:哪位知道MSP430F13X/14X系列的仿真器哪里有卖?