完善资料让更多小伙伴认识你,还能领取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就执行一次就完啦
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【瑞萨RA6E2】瑞萨E2S软件安装过程,等待过程玩下97_e2 studio_ZGZZ
140 浏览 0 评论
483 浏览 0 评论
【原创】【RA4M2-SENSOR开发板评测】低功耗+USB综合测试
815 浏览 0 评论
1346 浏览 2 评论
804 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16903 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 15:59 , Processed in 1.165501 second(s), Total 79, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2593