我已经创建了一个Arduino项目,我已经在Arduino IDE中尝试过了,它工作得很好,但现在我想将它添加到Visual Studio中(我也想为程序创建一个接口),当我试图这样做时,我有18个错误。Arduino的大多数功能(如DigitalWrite(out,LOW)
)无法识别。
int out=12;
void send1(int);
void send0(int);
void A_On(void);
void A_Off(void);
void B_On(void);
void B_Off(void);
void C_On(void);
void C_Off(void);
void a_on(void);
void a_off(void);
void b_on(void);
void b_off(void);
void c_on(void);
void c_off(void);
String rec_ser="";
void printMenu(void);
int nr_rep=4;
int t=390; //microsecunde delay
int T=1100;
void setup()
{
pinMode(out, OUTPUT);
digitalWrite(out,LOW);
Serial.begin(9600);
Serial.println("RC ready");
printMenu();
}
void loop()
{
while(Serial.available() >0)
{
char c=Serial.read();
if(c!='n')
rec_ser+=c;
else
{
if(rec_ser.indexOf("Aon")>=0)
{
rec_ser="";
Serial.println("Comanda primita: Aon");
A_On();
}
else if(rec_ser.indexOf("Aoff")>=0)
{
rec_ser="";
Serial.println("Comanda primita: Aoff");
A_Off();
}
else if(rec_ser.indexOf("Bon")>=0)
{
rec_ser="";
Serial.println("Comanda primita: Bon");
B_On();
}
else if(rec_ser.indexOf("Boff")>=0)
{
rec_ser="";
Serial.println("Comanda primita: Boff");
B_Off();
}
else if(rec_ser.indexOf("Con")>=0)
{
rec_ser="";
Serial.println("Comanda primita: Con");
C_On();
}
else if(rec_ser.indexOf("Coff")>=0)
{
rec_ser="";
Serial.println("Comanda primita: Coff");
C_Off();
}
else
{
rec_ser="";
Serial.println("Comanda invalida!");
printMenu();
}
}
}
}
void send0(int d)
{
digitalWrite(out,LOW);
delayMicroseconds(d);
digitalWrite(out,HIGH);
}
void send1(int d)
{
digitalWrite(out,HIGH);
delayMicroseconds(d);
digitalWrite(out,LOW);
}
void A_On(void)
{
send1(t);
send0(2*T);
send1(t);
send0(T);
send1(T);
send0(t);
for(int i=0; i<nr_rep; i++)
a_on();
}
void A_Off(void)
{
send1(t);
send0(2*T);
send1(t);
send0(T);
for(int i=0; i<nr_rep; i++)
a_off();
}
void printMenu(void)
{
Serial.println("Comenzi valide: ");
Serial.println("Aon");
Serial.println("Aoff");
Serial.println("Bon");
Serial.println("Boff");
Serial.println("Con");
Serial.println("Coff");
Serial.println();
}
void a_on(void)
{
send1(3*T);
send0(7*T);
send1(t);
send0(T);
send1(T);
}
void a_off(void)
{
send1(3*T);
send0(7*T);
send1(t);
send0(T);
send1(T);
send0(t);
}
void B_On(void)
{
send1(t);
send0(2*T);
send1(t);
send0(T);
for(int i=0; i<nr_rep; i++)
b_on();
}
void B_Off(void)
{
send1(t);
send0(2*T);
send1(t);
send0(T);
send1(T);
send0(t);
send1(t);
send0(T);
for(int i=0; i<nr_rep; i++)
b_off();
}
void C_On(void)
{
send1(t);
send0(2*T);
send1(t);
send0(T);
send1(T);
send0(t);
send1(t);
for(int i=0; i<nr_rep; i++)
c_on();
}
void C_Off(void)
{
send1(t);
send0(2*T);
send1(t);
send0(T);
send0(2*T);
send1(t);
send0(T);
send1(T);
send0(t);
send1(t);
send0(T);
send1(T);
send0(t);
send1(t);
send1(t);
send0(2*T);
send1(t);
send0(T);
send1(T);
send0(t);
send1(t);
send0(T);
for(int i=0; i<nr_rep; i++)
c_off();
}
void b_on(void)
{
send1(3*T);
send0(7*T);
send1(t);
send0(T);
send1(T);
send0(t);
}
void b_off(void)
{
send1(3*T);
send0(7*T);
send1(t);
send0(T);
send1(T);
send0(t);
send1(t);
}
void c_on(void)
{
send1(3*T);
send0(7*T);
send1(t);
send0(T);
send1(T);
send0(t);
send1(t);
}
void c_off(void)
{
send1(3*T);
send0(7*T);
send1(t);
send0(T);
send1(T);
}
您为什么不尝试使用Microsoft Visual Studio和Atmel Studio的Arduino IDE呢?http://www.visualmicro.com/
总结一下:
"Visual Micro是一个免费的Arduino编程插件,它使Microsoft Visual Studio 2008-2013和Atmel Studio 6.2成为完整的Arduino编程环境。Visual Micro确保您的草图代码与Arduino Ide保持完全兼容,并且是唯一一个在单个Ide中支持所有Arduino版本的Ide。"我认为这是edy 2006使用MS Visual Studio编写代码的最简单方法。"
那可能会解决你的问题。
祝你好运!
如果你想"创建一个接口",我假设你想为PC创建一个。
所以…为什么需要包含arduino代码?例如,您只需创建一个带有一些按钮的表单,然后,当您按下其中一个按钮时,您只需通过串行接口发送"Aon"
而不是"Aoff"
或其他命令。
你不需要整个arduino代码