From Arduino IDE to Visual Studio



我已经创建了一个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代码

相关内容

  • 没有找到相关文章

最新更新