从理论上讲,这段代码应该永远循环播放,直到声纳传感器检测到一个10 cm以上的值为止,但是当我尝试编译该程序时,我得到了消息

错误:


  未定义的变量“ sonarSensor”。假定为“短”。我不确定为什么
  没有看到声纳已被初始化。


码:

//Program: Bridge Layer
//Date: 12/14/19

#pragma config(Sensor, S4, sonar, sensorSONAR); //Enable sonar to sensor pin 4 on the NXT

task main()
{
    int distance_in_cm = 10; //Initialize sensor value variable
    while(SensorValue[sonar] < distance_in_cm){ //Creat a loop checking if the sonar sensor ever sees a value above 10 cm's
        motor[motorB]= 50;  //Start motor B forwards att 50% power
        motor[motorC]= 50;  //Start motor C forwards att 50% power
    }
    motor[motorB]= 50;  //Stop motor B
    motor[motorC]= 50;  //Stop motor C
}

最佳答案

好的,我现在很好,我发现您必须通过配置向导并设置声纳传感器的端口和类型。感谢您的帮助。

关于c - 用于Mindstorms的robotc **错误**: undefined variable 'sonarSensor'。假设“短”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59366656/

10-11 19:42