极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13797|回复: 4

arduino IDE编译时候出错

[复制链接]
发表于 2016-10-12 14:47:47 | 显示全部楼层 |阅读模式
今天用arduino IDE 编译的时候突然出现了错误“ Cannot run program "D:\2013\Arduino\arduino-builder" (in directory "."): CreateProcess error=2, 系统找不到指定的文件”  不知道什么原因   前几天用的时候还好用呢  今天突然出现这种情况  怎么解决呢  急急急
回复

使用道具 举报

发表于 2016-10-12 20:06:29 | 显示全部楼层
重新装一个IDE,最好下载最新版1.6.12
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-13 10:58:27 | 显示全部楼层
哦哦 请问 您有没有这个版本的压缩包啊我的是1.6.8版本的 好像很老的样子
回复 支持 反对

使用道具 举报

发表于 2016-10-13 21:40:57 | 显示全部楼层
原程序在吗?放的位置是否有挪动。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-19 09:22:11 | 显示全部楼层
林定祥 发表于 2016-10-13 21:40
原程序在吗?放的位置是否有挪动。

我用的是  精华里面弘毅老师的 一个用串口调试舵机角度的程序。上次按照你的方法装上了一个最新版本的IDE就能编译了  不会出错嘿嘿  谢谢你   源程序如下int i,val;
char a[3];
boolean display;
#include <Servo.h>
Servo servo1;

void setup()
{
  Serial.begin(9600);
  servo1.attach(3);//舵機一接pin3
}

void loop()
{
  if (Serial.available()){        //如果有数据输入.....
    delay(30);                    //等待30毫秒让所有输入数据从串口传输完毕.....
    if (Serial.available() <= 3){ //如果输入数据位数'<=3'.....
      while (Serial.available()){ //开始读取数据直到[串口输入缓存被清空]
        a[i++] = Serial.read();   //读取数据到[数组"a"]
      }
      display = 1;                    //数据读取完毕以后'打开'显示输出开关
    }
    else {                        //如果输入数据位数'>3'.....
      Serial.flush();             //刷新串口输入缓存
    }
  }
/*======================直接通过串口返回输入数值模块======================
  if (display)                    //如果[显示输出开关]被'打开'则显示[数组"a"]的数据
  {
    for (i = 0; i <= sizeof(a); i++)
    {
     Serial.print("a[");
     Serial.print(i);
     Serial.print("]= ");
      Serial.print(a);
      Serial.print(" | ");
    }
    Serial.println();
    display = 0;                  //显示完毕'关闭'显示输出开关
    Serial.flush();               //刷新串口输入缓存
    for (i = 0; i <= 3; i++)      //重置[数组"a"]
    {
      a = 0;
    }
    i = 0;                        //重置"计数变量"
  }
//=======================通过加减符号控制舵机增减一度转动=================*/
if (a[0] == 43 && display){
val++;
servo1.write(val);
Serial.println(val);
    display = 0;                  //显示完毕'关闭'显示输出开关
    Serial.flush();               //刷新串口输入缓存
    for (i = 0; i <= 3; i++)      //重置[数组"a"]
    {
      a = 0;
    }
    i = 0;                        //重置"计数变量"
}
if (a[0] == 45 && display){
val--;
servo1.write(val);
Serial.println(val);
    display = 0;                  //显示完毕'关闭'显示输出开关
    Serial.flush();               //刷新串口输入缓存
    for (i = 0; i <= 3; i++)      //重置[数组"a"]
    {
      a = 0;
    }
    i = 0;                        //重置"计数变量"
}

//========================判断及修正输入数据位数模块======================
if (display)                    //如果[显示输出开关]被'打开'则显示[数组"a"]的数据
  {
   if (!a[2]){ //如果输入数据为两位数(最后一位空)
   if (!a[1]){ //如果输入数据为一位数(最后两位空)
   a[2] = a[0];
   a[1] = 48;
   a[0] = 48;
   }
   else {
   a[2] = a[1];
   a[1] = a[0];
   a[0] = 48;
   }
   }
//==============转换变量类型后输出给舵机且通过串口返回结果值==============
for (i=0;i<=3;i++){ //变量类型:char to int (48为0的ASCII)
a -= 48;
}
val = 100*a[0] + 10*a[1] + a[2];
// Serial.print("val: ");
servo1.write(val);
Serial.println(val);

/* int val2 = random(50); //int型变量加法测试
val += val2;
Serial.print("+");
Serial.print(val2);
Serial.print("=");
Serial.println(val);
*/
    display = 0;                  //显示完毕'关闭'显示输出开关
    Serial.flush();               //刷新串口输入缓存
    for (i = 0; i <= 3; i++)      //重置[数组"a"]
    {
      a = 0;
    }
    i = 0;                        //重置"计数变量"
//    val = 0;
}
}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-27 10:29 , Processed in 0.038824 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表