标题: 写C语言代码时遇到的问题 [打印本页]

作者: 火鸡味锅巴qwq    时间: 2023-8-7 16:36
标题: 写C语言代码时遇到的问题
大佬们,我的主函数里只有这些语句,用的循迹函数  find  和  find1  里面分别是向前走和向后走的功能,其余的代码相同。我分别使用它们的时候,都能正常工作,但是让它们像图片里按顺序执行时,出现了问题,就是轮到find1函数执行时,它向后走会抽搐,左边两个轮子都不动。请问这种情况可能存哪些原因?

51hei图片20230807163114.jpg (20.83 KB, 下载次数: 40)

51hei图片20230807163114.jpg

作者: 火鸡味锅巴qwq    时间: 2023-8-7 16:46
对了,向前走的循迹模块是装在小车前面的,另一个在后面,小车停下来时前面的模块是在黑线上面的,后面的模块在白线上面
作者: 13205495918    时间: 2023-8-8 06:36
想请教一下,这么多while(1)是从哪里学到的编程风格。
作者: xianfajushi    时间: 2023-8-8 08:01
纯属滥用无限循环
作者: xianfajushi    时间: 2023-8-8 08:02
纯属滥用无限循环根本不懂编程
作者: glinfei    时间: 2023-8-8 08:22
但这些看不出什么,要看看你的接线图和find1(),另外你确实用不着写那么多死循环,把if 的内容放到while就行啦。
作者: chxelc    时间: 2023-8-8 10:02
while(1)是死循环
作者: IdeaMing    时间: 2023-8-8 14:17
13205495918 发表于 2023-8-8 06:36
想请教一下,这么多while(1)是从哪里学到的编程风格。

你去看看 LOLI3开源遥控的代码就不觉的奇怪了。while也是C语言的一个关键字,怎么用都无可厚非。
作者: fbn20050523    时间: 2023-8-8 18:50
首先你需要确保驱动车轮运动的程序不是阻塞的

作者: 火鸡味锅巴qwq    时间: 2023-8-9 12:42
听大神的,我只保留了一个while,能正常运行了!  但是我还是有疑问,我先前用的while循环不是可以用break跳出嘛,为什么会存在各种问题

51hei图片20230809125933.jpg (24.96 KB, 下载次数: 40)

51hei图片20230809125933.jpg

作者: 范莉萍    时间: 2023-8-9 13:00
用的什么单片机试试调试功能

作者: 18200917181    时间: 2023-8-9 13:51
你在停止的函数后面应该添加延时。不过这样的控制逻辑并不理想。编写程序先应该梳理好逻辑。
作者: 火鸡味锅巴qwq    时间: 2023-8-9 15:29
感谢大神们的建议,现在把代码修改了一下,只保留了一个while,能够正常运行了!

51hei图片20230809125933.jpg (24.96 KB, 下载次数: 39)

51hei图片20230809125933.jpg

作者: li64331218    时间: 2023-8-9 16:26
逻辑还是不清楚,多读读代码
作者: 邵123456    时间: 2023-8-9 16:50
火鸡味锅巴qwq 发表于 2023-8-9 12:42
听大神的,我只保留了一个while,能正常运行了!  但是我还是有疑问,我先前用的while循环不是可以用break跳 ...

break是和switch一起使用的
作者: sgq657785    时间: 2023-8-9 17:50
while只会在条件为假时结束,break无法结束while循环
作者: 芯菲    时间: 2023-8-11 08:33
请问,他这个程序是如何运行到下一个while(1)呢?
作者: aide51    时间: 2023-8-12 09:07
while(1)不是死循环吗?

作者: 大漠落日    时间: 2023-8-12 11:40
你是编程方式是癌症级的,进到一个while(1)里就出不来,用一个while(1)就行了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1