找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 913|回复: 13
收起左侧

请教关于for语句如何实现以下功能?

[复制链接]
ID:891876 发表于 2023-1-19 10:58 | 显示全部楼层 |阅读模式
折腾才能进步。。。
请问在for语句中如何实现:P0走2步,P1走1步呢?或用其它方法实现。谢谢!
for语句.JPG

回复

使用道具 举报

ID:857072 发表于 2023-1-19 11:42 来自手机 | 显示全部楼层
if(i%3)
回复

使用道具 举报

ID:491577 发表于 2023-1-19 11:51 | 显示全部楼层
for(i=0;i<8;i++)
  {
     p0=sz[i%4*2];
     Delay1ms(500);
     p0=sz[i%4*2+1];
     Delay1ms(500);
     p1=sz[i];
     Delay1ms(500);
  }
回复

使用道具 举报

ID:213173 发表于 2023-1-19 12:27 | 显示全部楼层
无标题.jpg
回复

使用道具 举报

ID:161164 发表于 2023-1-19 13:41 | 显示全部楼层
2023-01-19_133950.png
回复

使用道具 举报

ID:158391 发表于 2023-1-19 15:35 | 显示全部楼层
for(i = 0; i < 8; i++)
{
P0= SZ[i];
delay1ms(500);

for(!i%2)
P1 = SZ[i];
delay1ms(500);
}
新手只会笨办法,这应该行吧
回复

使用道具 举报

ID:891876 发表于 2023-1-19 17:24 | 显示全部楼层
学习中,求思路啊
回复

使用道具 举报

ID:1056573 发表于 2023-1-19 23:14 | 显示全部楼层
直接将p0=SZ[i]改成p0=SZ[i+1];当然不能溢出,此语句前加个判断语句
if(i<7)
p0=SZ[i+1];
其它不变。
回复

使用道具 举报

ID:277550 发表于 2023-1-19 23:17 | 显示全部楼层
“挤”在一个循环内,不合理。这循环中,2步的先超出范围了。或者说没说明超出后怎样处理。

大体如此吧
if(i<4){
   P0=SZ[i*2];
   Delay1ms(500);
   P0=SZ[i*2+1];
   Delay1ms(500);
}
回复

使用道具 举报

ID:366877 发表于 2023-1-20 07:37 | 显示全部楼层
在for语句内P0执行两次不就可以了吗
回复

使用道具 举报

ID:891876 发表于 2023-1-20 15:42 | 显示全部楼层
功能完美实现,学习了,谢谢大家!
回复

使用道具 举报

ID:950946 发表于 2023-1-20 19:55 | 显示全部楼层
加标志位啊,
回复

使用道具 举报

ID:950946 发表于 2023-1-20 19:57 | 显示全部楼层
加个标志位j
for(不变)
{
j++
if(j==2)
{
p1走一步;
j=0;
}
else
{
p0走
}
}
回复

使用道具 举报

ID:891876 发表于 2023-1-22 10:00 | 显示全部楼层
dwb123 发表于 2023-1-20 19:57
加个标志位j
for(不变)
{

这样写好像不能循环吧?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表