一种解决方案是将while(1)循环中的所有while语句更改为if语句。
例如,在你的最后一个while语句中,当机器人失去黑线时,你的机器人将顺时针旋转,然后逆时针旋转每个方向200ms 的 而不管 强> 从传感器读取的新值。这是因为最后一个while语句将首先完成它的执行 的 一个 强> 得到更新。
我看到了几件事,
一些分号丢失。我确定在您的真实代码中不是这种情况,因为它甚至不会编译。也请在你的陈述中尝试使用正确的括号(更好的做法:-)
您还需要在循环中重新读取传感器以避免死锁!
同样如上所述,在一个大的while循环中使用if / else if语句。
您可以添加一些阈值以使其更平滑:-)
祝好运