| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 375 人关注过本帖
标题:新手报到 顺便向C语言高手请教一个for循环的 问题
只看楼主 加入收藏
臧月亮
Rank: 2
等 级:论坛游民
帖 子:11
专家分:13
注 册:2012-11-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
新手报到 顺便向C语言高手请教一个for循环的 问题
我用的单片机是atmega8,在pc2和pc3口上分别接有一个伺服电机,程序如下:
#include <avr/robot.h>
#include <avr/usta.h>

int main(void)
{
    int k;
    SET_DDRC2;                     //设置pc2为输出口。
    SET_DDRC3;                     //设置pc3为输出口。
    usta_Init();                   //串口初始化。               
   
    for (k =1; k <= 5; k++)        
    {
        HIGH_PORTC3;
        delay_nus(500+k);          //500是伺服电机的零点标定信号。
        LOW_PORTC3;
        HIGH_PORTC2;
        delay_nus(500-k);
        LOW_PORTC2;
        delay_nms(200);
    }
}

我的问题是:上边这个for是循环了5次,可是当我把 k++ 自增改为 k+2时  程序就不停了,我不明白。请各位老师赐教,
搜索更多相关主题的帖子: 伺服电机 include C语言 
2012-11-04 17:40
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
收藏
得分:5 
k++;//k=k+1;
k+2//k并没有加,你改成k += 2;

编程之路定要走完……
2012-11-04 18:24
张朝成
Rank: 4
等 级:业余侠客
帖 子:149
专家分:265
注 册:2012-3-22
收藏
得分:5 
k++和k=k+1,但是k+2不等于k=k+2的。这样也行:k+=2.
2012-11-04 19:24
臧月亮
Rank: 2
等 级:论坛游民
帖 子:11
专家分:13
注 册:2012-11-4
收藏
得分:0 
请3楼的高手再给予指点,我按照2楼的老师说的重新写片实验,达到了如期结果。我记得老师在课堂上讲的时候说过:k+=2就等于k=k+2. 就是不理解k+2,还是请老师再来解答一下。谢谢了。
2012-11-04 22:38
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:5 
结合程序,慢慢多读几次赋值语句的描述就会有收获了。

www.qunxingw.wang
2012-11-04 23:03
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
=号不是等号 是赋值语句  就是把=右边的计算结果赋给=左边的变量

DO IT YOURSELF !
2012-11-05 08:26
臧月亮
Rank: 2
等 级:论坛游民
帖 子:11
专家分:13
注 册:2012-11-4
收藏
得分:0 
k+=2等价于k=k+2,是俺描述错了,感谢4位老师的赐教,俺能明白了,谢谢
2012-11-05 09:50
快速回复:新手报到 顺便向C语言高手请教一个for循环的 问题
数据加载中...
 
   



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

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