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

* 4017: C51编程:很怪的问题

   阿土 
阿土发表的帖子 

 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 后却仍然不行。后来就改成现在这样了,没有问题,但我不明白真正
的原因,有劳各位高手了!


发表时间:2001年12月27日10:35:00

  
回复该帖

本主题共有 2 帖,分页:>>>>>该主题的所有内容[2]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  4062.[详细]其他的地方可用到这个全局变量I
摘要:......(无内容)
- [龙川][907次] 2001年12月28日

[上一篇帖子]:网址是什么啊
[下一篇帖子]:硬件:哪位知道MSP430F13X/14X系列的仿真器哪里有卖?