Ç编译错误:数字常量前程序中的流浪'\\ 200'和预期')' [英] C compile errors: stray '\200' in program and expected ')' before numeric constant

查看:153
本文介绍了Ç编译错误:数字常量前程序中的流浪'\\ 200'和预期')'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我复制了这个程序,我有与无效downFrequency功能(我认为)的麻烦。
这是Arduino的乌诺。以下是编译器错误:
编译MY_dds'为'Arduino的乌诺

  MY_dds.ino:程序流浪'\\ 342'
MY_dds.ino:流浪'\\ 200'计划​​中
MY_dds.ino:流浪'\\ 223'计划中
MY_dds.ino:流浪'\\ 342'计划中
MY_dds.ino:流浪'\\ 200'计划​​中
MY_dds.ino:流浪'\\ 223'计划中
MY_dds.ino:流浪'\\ 342'计划中
MY_dds.ino:流浪'\\ 200'计划​​中
MY_dds.ino:流浪'\\ 223'计划中
MY_dds.ino:流浪'\\ 342'计划中
MY_dds.ino:流浪'\\ 200'计划​​中
MY_dds.ino:流浪'\\ 223'计划中
MY_dds.ino:流浪'\\ 342'计划中
MY_dds.ino:流浪'\\ 200'计划​​中
MY_dds.ino:流浪'\\ 223'计划中
MY_dds.ino:流浪'\\ 342'计划中
MY_dds.ino:流浪'\\ 200'计划​​中
MY_dds.ino:流浪'\\ 223'计划中
MY_dds.ino:流浪'\\ 342'计划中
MY_dds.ino:流浪'\\ 200'计划​​中
MY_dds.ino:流浪'\\ 223'计划中
MY_dds.ino:流浪'\\ 342'计划中
MY_dds.ino:流浪'\\ 200'计划​​中
MY_dds.ino:流浪'\\ 223'计划中
MY_dds.ino:流浪'\\ 342'计划中
MY_dds.ino:流浪'\\ 200'计划​​中
MY_dds.ino:流浪'\\ 223'计划中
MY_dds.ino:在函数'无效downFrequency():
MY_dds.ino:预期`)'数字常量前
MY_dds.ino:预期`)'数字常量前
MY_dds.ino:预期`)'数字常量前
MY_dds.ino:预期`)'数字常量前
MY_dds.ino:预期`)'数字常量前
MY_dds.ino:预期`)'数字常量前
MY_dds.ino:预期`)'数字常量前
MY_dds.ino:预期`)'数字常量前
编译错误

下面是程序:

 的#include<&stdio.h中GT;
#包括LT&;&dds.h GT;
#包括LT&;&LiquidCrystal.h GT;#定义RESET 13
#定义data_pin 12
#定义load_pin A5
#定义clock_pin A4
#定义clock_hz 120000000LL
#定义calibrationValue -0.0400000 //这是我们改变更准确地校准我们的特定芯片的值
#定义buttonPin A0//芯片,data_pin,load_pin,clock_pin,clock_hz
DDS ddschip(DDS9850,data_pin,load_pin,clock_pin,clock_hz); //设置我的DDS了120MHz的板载水晶
LiquidCrystal液晶(8,9,4,5,6,7);//一些变量在我们的程序中使用
长toFrequency = 14070000;
长currentFrequency;
长maxFrequency = 40000000;
长minFrequency = 0;
INT incrementNumber = 6;
INT maxprogramnumber = 6; //别忘了这里增加了菜单的数字!
INT programnumber = 1;无效设置(){
Serial.begin(9600);
Serial.println(开始安装);
//设置列和行的LCD的数量:
lcd.begin(16,2);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(T.Robb V0.1b); //打印一个小消息
lcd.setCursor(0,1);
lcd.print(DDS正弦波);
延迟(2000);
//设置引脚
pinMode(RESET,OUTPUT);
pinMode(data_pin,OUTPUT);
pinMode(load_pin,OUTPUT);
pinMode(clock_pin,OUTPUT);
pinMode(buttonPin,输入);
digitalWrite(buttonPin,HIGH);ddschip.calibrate(calibrationValue); //这是我们改变更准确地校准我们的特定芯片的值
ddschip.setfrequency(toFrequency);
lcd.clear();}无效循环()
{
如果(toFrequency&GT = maxFrequency){(toFrequency = maxFrequency);}
如果(toFrequency&下; = minFrequency){(toFrequency = minFrequency);}
ddschip.setfrequency(toFrequency);
currentFrequency = toFrequency;开关(incrementNumber){情况下0:
Serial.println(递增量为1Hz);
lcd.setCursor(0,0);
lcd.print(更改到1Hz的);
打破;情况1:
Serial.println(递增量为10Hz);
lcd.setCursor(0,0);
lcd.print(更改到10Hz的);
打破;案例2:
Serial.println(增量金额为100Hz);
lcd.setCursor(0,0);
lcd.print(更改到100Hz的);
打破;案例3:
Serial.println(递增量为1 000hz);
lcd.setCursor(0,0);
lcd.print(改变由1kHz时);
打破;情况4:
Serial.println(递增量为10 000hz);
lcd.setCursor(0,0);
lcd.print(更改到10kHz的);
打破;情况5:
Serial.println(递增量为100 000hz);
lcd.setCursor(0,0);
lcd.print(更改到100kHz的);
打破;情况6:
Serial.println(增量量为1 000 000hz);
lcd.setCursor(0,0);
lcd.print(更改到1Mhz为);
打破;默认:
Serial.println(增量金额为100Hz);
lcd.setCursor(0,0);
lcd.print(更改到100Hz的);
打破;
}lcd.setCursor(0,1);
lcd.print(频率​​是); //打印液晶
lcd.setCursor(8,1);
lcd.print(currentFrequency);Serial.println(incrementNumber); //临时用于调试删除我Serial.print(当前频率设置为:);
Serial.println(currentFrequency);而((analogRead(buttonPin))> = 1000){} //什么都不做,而没有任何按键pressed冷静下来
延迟(5);
如果(analogRead(buttonPin)> = 100安培;&安培; analogRead(buttonPin)LT = 200){//我们已经推高了
upFrequency();
延迟(300);
}如果(analogRead(buttonPin)> = 200安培;&安培; analogRead(buttonPin)LT = 400){//我们下推
downFrequency();
延迟(300);
}如果((analogRead(buttonPin))≤; = 50){//我们已经向右推
incrementNumber ++;
延迟(300);
}如果(analogRead(buttonPin)> = 400安培;&安培; analogRead(buttonPin)LT = 600){//我们左推
incrementNumber-;
延迟(300);
}如果(incrementNumber→6){incrementNumber = 0;} //这是那里的菜单绕着与周围
如果(incrementNumber℃,){incrementNumber = 6;}延迟(100);
lcd.clear();}
无效upFrequency()
{
Serial.println(涨频率);
开关(incrementNumber){情况下0:
toFrequency =(toFrequency + 1);
打破;情况1:
toFrequency =(toFrequency + 10);
打破;案例2:
toFrequency =(toFrequency + 100);
打破;案例3:
toFrequency =(toFrequency + 1000);
打破;情况4:
toFrequency =(toFrequency + 10000);
打破;情况5:
toFrequency =(toFrequency + 100000);
打破;
情况6:
toFrequency =(toFrequency + 1000000);
打破;默认:
toFrequency =(toFrequency + 10);
打破;
}}
无效downFrequency()
{Serial.println(下乡变频);
开关(incrementNumber){情况下0:
toFrequency =(toFrequency - 1);
打破;情况1:
toFrequency =(toFrequency - 10);
打破;案例2:
toFrequency =(toFrequency - 100);
打破;案例3:
toFrequency =(toFrequency - 1000);
打破;情况4:
toFrequency =(toFrequency - 10000);
打破;情况5:
toFrequency =(toFrequency - 100000);
打破;情况6:
 toFrequency =(toFrequency - 1000000);
 打破;默认:
 toFrequency =(toFrequency - 10);
 打破;
 }
}


解决方案

您已经莫名其妙地结束了与短划线字符,而不是正常的减号,在 downFrequency 功能。

请确保您使用文本编辑器编辑,而不是一个文字处理器;并为每个这些

  toFrequency =(toFrequency  -  1);
                           ^

删除标记字符,并重新输入作为一个正常的减号。

(如果你有兴趣在血淋淋的细节,破折号字统一$ C $ç2013 ,连接$ C $光盘UTF-8作为八进制三个字节值324200223,这就是为什么你在错误信息看那些数字。)

I copied this program and am having trouble with the void downFrequency function (I think). This is for Arduino Uno. Here are the compiler errors: Compiling 'MY_dds' for 'Arduino Uno'

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

Here is the program:

#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, clock_pin, clock_hz); // set my dds up with 120mhz 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);
// setup 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 1hz");
lcd.setCursor(0, 0);
lcd.print("Change By 1hz");
break;

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

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

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

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

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

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

default:
Serial.println("increment amount is 100hz");
lcd.setCursor(0, 0);
lcd.print("Change By 100hz ");
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){incrementNumber = 0;} // this is where the menu goes around  and around
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;
 }
}

解决方案

You've somehow ended up with "en dash" characters, rather than normal minus signs, in the downFrequency function.

Make sure you're editing using a text editor, not a word processor; and for each of these:

toFrequency = (toFrequency – 1);
                           ^

delete the marked character, and retype as a normal minus sign.

(If you're interested in the gory details, the "dash" character is Unicode 2013, encoded in UTF-8 as three bytes with octal values 324,200,223, which is why you see those numbers in the error messages.)

这篇关于Ç编译错误:数字常量前程序中的流浪'\\ 200'和预期')'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆