| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 622 人关注过本帖
标题:[求助]我下面的程序的解释有没弄错
取消只看楼主 加入收藏
刀仔
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-10-19
收藏
 问题点数:0 回复次数:2 
[求助]我下面的程序的解释有没弄错

SIGNAL(SIG_UART1_RECV) //不明白??
{
UART1_RxBuf[Rx1_Point]=inp(UDR1); //不明白??
if(Rx1_Point==0) //如果Rx1_Point=0
{ //那就是
Rx1_Checksum=0; // Rx1_Checksum=0
Rx1_Length=UART1_RxBuf[Rx1_Point]; // Rx1_Length=UART1_RxBuf[Rx1_Point]
Rx1_Point++; // Rx1_Point= Rx1_Point +1
return; 函数的结果返回
} //如果上面的Rx1_Point=0不成立,则执行下面的,
if(Rx1_Point==(Rx1_Length+1)) //即如果Rx1_Point不等于0并且Rx1_Point==(Rx1_Length+1)
{ //那就是
if(Rx1_Checksum==UART1_RxBuf[Rx1_Point]) //如果Rx1_Checksum==UART1_RxBuf[Rx1_Point]
Rx1_end=1; // 就Rx1_end=1
Rx1_Point=0; //不明白??这个结果是对应那个如果出来的??
return; //函数的结果返回
} //二个如果都不成立的情况下,则执行下面三行
Rx1_Checksum+=UART1_RxBuf[Rx1_Point]; //Rx1_Checksum+=UART1_RxBuf[Rx1_Point]
Rx1_Checksum&=0xff; // Rx1_Checksum&=0xff
Rx1_Point++; // Rx1_Point+1
}

第一、二、十五行是什么意思?
每一次RETURN的时候,是都把Rx1_Point、Rx1_Length、Rx1_Point的值都保留下来?以方便以后调用还是说返回的是空的值?
上面的解释有没有错误?请指正。因为我才刚刚学,好多地方都不明白,所以可能有些地方把程序的意义弄错。


[此贴子已经被作者于2006-10-19 13:32:32编辑过]

搜索更多相关主题的帖子: 弄错 解释 SIGNAL 
2006-10-19 13:31
刀仔
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-10-19
收藏
得分:0 

因为是自学当中,有好多地方点样睇书都不明白呀。

2006-10-19 13:56
刀仔
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-10-19
收藏
得分:0 

对呀,是嵌入式方面的编程,其实我最想知道的是,我对这个程式的理解有没有错误?例如SIGNAL(SIG_UART1_RECV)和inp(UDR1),括号是代表了什么意思呢?这两句要如何理解?UART1_RxBuf[Rx1_Point]这个是代表UART1_RxBuf的一维数组是[Rx1_Point]吗?第八行的return意思是函数的返回,那是返回空值吗?还是返回的是Rx1_Checksum、Rx1_Length、Rx1_Point这三个的值?还是只返回Rx1_Point这个值?我看过不少关于return的解释,但就是不太明白,所以想通过例子,能让我明白这个应该怎样用。

2006-10-20 08:28
快速回复:[求助]我下面的程序的解释有没弄错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.072609 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved