完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
函数如下
#include #define uint unsigned int #define uchar unsigned char ***it zuo1=P1^3; ***it zuo2=P1^4; ***it you1=P1^6; ***it you2=P1^5; ***it qian1=P1^7; ***it qian2=P3^1; ***it cesudu=P3^2; ***it L1=P1^0; //左 ***it L2=P1^1; //右 uint time; uchar flag,circle; void delay_50us(uint t) { uchar j; for(;t>0;t--) for(j=19;j>0;j--); } void delay_50ms(uint t) { uint j; for(;t>0;t--) for(j=6245;j>0;j--); } void go(uint t) { for(time=0;time L1=1; L2=0; delay_50us(26); L1=0; L2=1; delay_50us(34); L2=0; delay_50us(400); } } void back(uint t) { for(time=0;time L1=1; L2=0; delay_50us(34); L1=0; L2=1; delay_50us(26); L2=0; delay_50us(400); } } void left(uint t,uint sd) { for(time=0;time L1=1; delay_50us(30-sd); L1=0; L2=1; delay_50us(30-sd); L2=0; delay_50us(400); } } void left1(uint t) { for(time=0;time L1=1; delay_50us(28); L1=0; L2=1; delay_50us(34); L2=0; delay_50us(400); } } void left2(uint t) { for(time=0;time L1=1; delay_50us(29); L1=0; L2=1; delay_50us(34); L2=0; delay_50us(400); } } void right(uint t,uint sd) { for(time=0;time L1=1; delay_50us(30+sd); L1=0; L2=1; delay_50us(30+sd); L2=0; delay_50us(400); } } void right1(uint t) { for(time=0;time L1=1; delay_50us(26); L1=0; L2=1; delay_50us(32); L2=0; delay_50us(400); } } void right2(uint t) { for(time=0;time L1=1; delay_50us(26); L1=0; L2=1; delay_50us(31); L2=0; delay_50us(400); } } void stop(uint t) { for(time=0;time L1=1; L2=0; delay_50us(30); L1=0; L2=1; delay_50us(30); L2=0; delay_50us(400); } } void xunji0() //循内迹 { if(qian1==0) { if((zuo1==1)&&(zuo2==1)) //若左边两个都检测到黑线,则直走 go(5); else if((zuo1==1)&&(zuo2==0)) //若左边第一个检测到黑线,第二个没有检测到黑线,则左边加速,右侧减速 right1(5); else if((zuo1==0)&&(zuo2==1)) //若左边第一个没有检测到黑线,第二个检测到黑线 left2(5); else if((zuo1==0)&&(zuo2==0)) //若左边两个都没有检测到黑线 left1(5); } else if(qian1==1) right2(20); } void jishu() { flag=0; if(qian2==1) { delay_50us(20); if(qian2==1) { flag++; while(flag<4) xunji0(); while(4<=flag&&flag<=8) stop(10); while(flag==9) { flag=0; xunji0(); } } } } void main() { jishu(); } 不知道为什么,jishu()这个函数里,当4<=flag&&flag<=8时,不执行我设定的 stop |
|
相关推荐
4个回答
|
|
这个判断语句没看懂
|
|
|
|
|
|
|
|
|
|
|
|
所以flag就执行一次就完啦
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【每周推荐】采用11代Intel CPU,基于youyeetoo X1开发板搭建少儿AI智能STEAM积木平台
788 浏览 0 评论
2301 浏览 2 评论
【youyeetoo X1 windows 开发板体验】+ 影音处理和AI模型移植
2154 浏览 5 评论
I.MX6ULL-飞凌 ElfBoard ELF1板卡- 移植zbar的方法
1694 浏览 0 评论
3021 浏览 3 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
5564 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-20 23:43 , Processed in 0.510536 second(s), Total 70, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号