gpt4 book ai didi

c++ - C 编译错误 : stray '\200' in program and expected ')' before numeric constant

转载 作者:可可西里 更新时间:2023-11-01 18:41:41 28 4
gpt4 key购买 nike

我复制了这个程序,但在使用 void downFrequency 函数时遇到了问题(我认为)。

这是给 Arduino Uno 的.以下是编译器错误:

为“Arduino Uno”编译“MY_dds”

MY_dds.ino : stray '\342' in program
MY_dds.ino : stray '\200' in program
MY_dds.ino : stray '\223' in program
MY_dds.ino : stray '\342' in program
MY_dds.ino : stray '\200' in program
MY_dds.ino : stray '\223' in program
MY_dds.ino : stray '\342' in program
MY_dds.ino : stray '\200' in program
MY_dds.ino : stray '\223' in program
MY_dds.ino : stray '\342' in program
MY_dds.ino : stray '\200' in program
MY_dds.ino : stray '\223' in program
MY_dds.ino : stray '\342' in program
MY_dds.ino : stray '\200' in program
MY_dds.ino : stray '\223' in program
MY_dds.ino : stray '\342' in program
MY_dds.ino : stray '\200' in program
MY_dds.ino : stray '\223' in program
MY_dds.ino : stray '\342' in program
MY_dds.ino : stray '\200' in program
MY_dds.ino : stray '\223' in program
MY_dds.ino : stray '\342' in program
MY_dds.ino : stray '\200' in program
MY_dds.ino : stray '\223' in program
MY_dds.ino : stray '\342' in program
MY_dds.ino : stray '\200' in program
MY_dds.ino : stray '\223' in program
MY_dds.ino : : In function 'void downFrequency()':
MY_dds.ino : expected `)' before numeric constant
MY_dds.ino : expected `)' before numeric constant
MY_dds.ino : expected `)' before numeric constant
MY_dds.ino : expected `)' before numeric constant
MY_dds.ino : expected `)' before numeric constant
MY_dds.ino : expected `)' before numeric constant
MY_dds.ino : expected `)' before numeric constant
MY_dds.ino : expected `)' before numeric constant
Error compiling

程序如下:

#include <stdio.h>
#include <dds.h>
#include <LiquidCrystal.h>

#define RESET 13
#define data_pin 12
#define load_pin A5
#define clock_pin A4
#define clock_hz 120000000LL
#define calibrationValue -0.0400000 // This is a value we change to calibrate
// our particular chip more accurately
#define buttonPin A0

// chip, data_pin, load_pin, clock_pin, clock_hz
dds ddschip(DDS9850, data_pin, load_pin, // Set my dds up with 120 MHz
clock_pin, clock_hz); // onboard crystal

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

// Some variables to use in our program
long toFrequency = 14070000;
long currentFrequency;
long maxFrequency = 40000000;
long minFrequency = 0;
int incrementNumber = 6;
int maxprogramnumber = 6; // Don't forget to increase the menu numbers here!!
int programnumber = 1;

void setup()
{
Serial.begin(9600);
Serial.println("Beginning Setup");

// Set up the LCD’s number of columns and rows:
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("T.Robb V0.1b "); // Print a little message
lcd.setCursor(0, 1);
lcd.print(" DDS Sine wave ");
delay(2000);

// Set up pins
pinMode(RESET, OUTPUT);
pinMode(data_pin, OUTPUT);
pinMode(load_pin, OUTPUT);
pinMode(clock_pin, OUTPUT);
pinMode(buttonPin, INPUT);
digitalWrite(buttonPin, HIGH);

ddschip.calibrate(calibrationValue); // This is a value we change to calibrate
// our particular chip more accurately
ddschip.setfrequency(toFrequency);
lcd.clear();
}

void loop()
{
if(toFrequency >= maxFrequency)
{
(toFrequency = maxFrequency);
}

if(toFrequency <= minFrequency)
{
(toFrequency = minFrequency);
}

ddschip.setfrequency(toFrequency);
currentFrequency = toFrequency;

switch(incrementNumber)
{
case 0:
Serial.println("increment amount is 1 Hz");
lcd.setCursor(0, 0);
lcd.print("Change By 1 Hz");
break;

case 1:
Serial.println("increment amount is 10 Hz");
lcd.setCursor(0, 0);
lcd.print("Change By 10 Hz ");
break;

case 2:
Serial.println("increment amount is 100 Hz");
lcd.setCursor(0, 0);
lcd.print("Change By 100 Hz ");
break;

case 3:
Serial.println("increment amount is 1 000 Hz");
lcd.setCursor(0, 0);
lcd.print("Change By 1 kHz");
break;

case 4:
Serial.println("increment amount is 10 000 Hz");
lcd.setCursor(0, 0);
lcd.print("Change By 10 kHz");
break;

case 5:
Serial.println("increment amount is 100 000 Hz");
lcd.setCursor(0, 0);
lcd.print("Change By 100 kHz");
break;

case 6:
Serial.println("increment amount is 1 000 000hz");
lcd.setCursor(0, 0);
lcd.print("Change By 1 MHz");
break;

default:
Serial.println("increment amount is 100 Hz");
lcd.setCursor(0, 0);
lcd.print("Change By 100 Hz ");
break;
}

lcd.setCursor(0, 1);
lcd.print("Freq is "); // Print to LCD
lcd.setCursor(8, 1);
lcd.print(currentFrequency);

Serial.println(incrementNumber); // Temporary for debugging delete me

Serial.print("Current frequency is set to: ");
Serial.println(currentFrequency);

while((analogRead(buttonPin))>=1000) // Do nothing while no buttons pressed to chill out
{
}

delay(5);
if (analogRead(buttonPin)>=100 && analogRead(buttonPin) <= 200) // We have pushed up
{
upFrequency();
delay(300);
}

if(analogRead(buttonPin)>=200 && analogRead(buttonPin) <= 400) // We have pushed down
{
downFrequency();
delay(300);
}

if ((analogRead(buttonPin)) <= 50) // We have pushed right
{
incrementNumber++;
delay(300);
}

if(analogRead(buttonPin) >= 400 && analogRead(buttonPin)<=600) // We have pushed left
{
incrementNumber–;
delay(300);
}

if(incrementNumber > 6) // This is where the menu goes around and around
{
incrementNumber = 0;
}
if(incrementNumber < 0)
{
incrementNumber = 6;
}

delay(100);
lcd.clear();
}

void upFrequency()
{
Serial.println("Going UP Frequency");
switch(incrementNumber)
{
case 0:
toFrequency = (toFrequency + 1);
break;

case 1:
toFrequency = (toFrequency + 10);
break;

case 2:
toFrequency = (toFrequency + 100);
break;

case 3:
toFrequency = (toFrequency + 1000);
break;

case 4:
toFrequency = (toFrequency + 10000);
break;

case 5:
toFrequency = (toFrequency + 100000);
break;

case 6:
toFrequency = (toFrequency + 1000000);
break;

default:
toFrequency = (toFrequency + 10);
break;
}

}


void downFrequency()
{
Serial.println("Going DOWN Frequency");
switch(incrementNumber)
{
case 0:
toFrequency = (toFrequency – 1);
break;

case 1:
toFrequency = (toFrequency – 10);
break;

case 2:
toFrequency = (toFrequency – 100);
break;

case 3:
toFrequency = (toFrequency – 1000);
break;

case 4:
toFrequency = (toFrequency – 10000);
break;

case 5:
toFrequency = (toFrequency – 100000);
break;

case 6:
toFrequency = (toFrequency – 1000000);
break;

default:
toFrequency = (toFrequency – 10);
break;
}

}

最佳答案

downFrequency 函数中,您以某种方式结束了“破折号”字符,而不是正常的减号。

确保您使用的是文本编辑器,而不是文字处理器;对于其中的每一个:

toFrequency = (toFrequency – 1);
^

删除标记的字符,然后重新键入一个正常的减号。

(如果您对血淋淋的细节感兴趣,“破折号”字符是 Unicode 2013 ,以 UTF-8 编码为三个字节,八进制值为 324,200,223,这就是您在错误消息中看到这些数字的原因。)

关于c++ - C 编译错误 : stray '\200' in program and expected ')' before numeric constant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18573008/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com