找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2501|回复: 18
收起左侧

写C语言代码时遇到的问题

  [复制链接]
回帖奖励 10 黑币 回复本帖可获得 10 黑币奖励! 每人限 1 次
ID:1040123 发表于 2023-8-7 16:36 | 显示全部楼层 |阅读模式
大佬们,我的主函数里只有这些语句,用的循迹函数  find  和  find1  里面分别是向前走和向后走的功能,其余的代码相同。我分别使用它们的时候,都能正常工作,但是让它们像图片里按顺序执行时,出现了问题,就是轮到find1函数执行时,它向后走会抽搐,左边两个轮子都不动。请问这种情况可能存哪些原因?
51hei图片20230807163114.jpg
回复

使用道具 举报

ID:1040123 发表于 2023-8-7 16:46 | 显示全部楼层
对了,向前走的循迹模块是装在小车前面的,另一个在后面,小车停下来时前面的模块是在黑线上面的,后面的模块在白线上面
回复

使用道具 举报

ID:908826 发表于 2023-8-8 06:36 | 显示全部楼层
想请教一下,这么多while(1)是从哪里学到的编程风格。
回复

使用道具 举报

ID:332444 发表于 2023-8-8 08:01 | 显示全部楼层
纯属滥用无限循环
回复

使用道具 举报

ID:332444 发表于 2023-8-8 08:02 | 显示全部楼层
纯属滥用无限循环根本不懂编程
回复

使用道具 举报

ID:844772 发表于 2023-8-8 08:22 | 显示全部楼层
但这些看不出什么,要看看你的接线图和find1(),另外你确实用不着写那么多死循环,把if 的内容放到while就行啦。
回复

使用道具 举报

ID:712097 发表于 2023-8-8 10:02 | 显示全部楼层
while(1)是死循环
回复

使用道具 举报

ID:276663 发表于 2023-8-8 14:17 | 显示全部楼层
13205495918 发表于 2023-8-8 06:36
想请教一下,这么多while(1)是从哪里学到的编程风格。

你去看看 LOLI3开源遥控的代码就不觉的奇怪了。while也是C语言的一个关键字,怎么用都无可厚非。
回复

使用道具 举报

ID:276685 发表于 2023-8-8 18:50 | 显示全部楼层
首先你需要确保驱动车轮运动的程序不是阻塞的
回复

使用道具 举报

ID:1040123 发表于 2023-8-9 12:42 | 显示全部楼层
听大神的,我只保留了一个while,能正常运行了!  但是我还是有疑问,我先前用的while循环不是可以用break跳出嘛,为什么会存在各种问题
51hei图片20230809125933.jpg
回复

使用道具 举报

ID:773929 发表于 2023-8-9 13:00 | 显示全部楼层
用的什么单片机试试调试功能
回复

使用道具 举报

ID:487198 发表于 2023-8-9 13:51 | 显示全部楼层
你在停止的函数后面应该添加延时。不过这样的控制逻辑并不理想。编写程序先应该梳理好逻辑。
回复

使用道具 举报

ID:1040123 发表于 2023-8-9 15:29 | 显示全部楼层
感谢大神们的建议,现在把代码修改了一下,只保留了一个while,能够正常运行了!
51hei图片20230809125933.jpg
回复

使用道具 举报

ID:291668 发表于 2023-8-9 16:26 | 显示全部楼层
逻辑还是不清楚,多读读代码
回复

使用道具 举报

ID:1089167 发表于 2023-8-9 16:50 | 显示全部楼层
火鸡味锅巴qwq 发表于 2023-8-9 12:42
听大神的,我只保留了一个while,能正常运行了!  但是我还是有疑问,我先前用的while循环不是可以用break跳 ...

break是和switch一起使用的
回复

使用道具 举报

ID:227393 发表于 2023-8-9 17:50 来自手机 | 显示全部楼层
while只会在条件为假时结束,break无法结束while循环
回复

使用道具 举报

ID:1063563 发表于 2023-8-11 08:33 | 显示全部楼层
请问,他这个程序是如何运行到下一个while(1)呢?
回复

使用道具 举报

ID:372579 发表于 2023-8-12 09:07 | 显示全部楼层
while(1)不是死循环吗?
回复

使用道具 举报

ID:195496 发表于 2023-8-12 11:40 | 显示全部楼层
你是编程方式是癌症级的,进到一个while(1)里就出不来,用一个while(1)就行了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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