Thread 中讨论的其他器件:Energia
工具与软件:
您好!
我正在尝试 将我的代码从 Energia 上传到 MSP-exp430f5529 Launchpad。
问题是它给了我一个错误、我不确定是我的语法还是安装了错误的软件。
如果您能为我提供正确的指导、我将不胜感激。
这是错误:
java.io.IOException:无法运行程序"{runtime.tools.dslite-9.2.0.1793-E1.path}/DebugServer/bin/DSLite:CreateProcess error=2、系统找不到指定的文件
在 java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at processing.app.helpers.ProcessUtils.exec(ProcessUtils.java:26)
位于 cc.Arduino.packages.Uploader.executeUploadCommand (Uploader.java:129)
请访问 cc.arduino.packages.uploaders.SerialUploader.runCommand(SerialUploader.java:383)
位于 cc.Arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:197)
at cc.Arduino.UploaderUtils.upload(UploaderUtils.java:77)
at processing.app.SketchController.upload(SketchController.java:732)
at processing.app.SketchController.exportApplet (SketchController.Java:703)
at processing.app.Editor$UploadHandler.run(Editor.java:2075)
请访问 java.lang.Thread.run(Thread.java:748)
导致的原因: java.io.IOException:系统无法找到指定的文件
在 java.lang.ProcessImpl.create(本机方法)
在 java.lang.ProcessImpl. (ProcessImpl.Java:386)
在 java.lang.ProcessImpl.start(ProcessImpl.java:137)
在 java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
.... 9更多
上传 sketch 时出错
如果需要、可执行以下代码:
#include<SPI.h>
#include<msp430f5529.h>
#include "HardwareSerial.h"
void Initialize();
#define CS BIT1
#define STEP BIT2
#define SLEEPn BIT6
#define DIR_PIN BIT1
#define RST BIT7
#define STALL_PIN BIT0
#define FAULT BIT2
int flag =0;
int i,j;
char in;
void setup()
{
//output pins
P8DIR |= CS;
P4DIR |= (STEP|DIR_PIN);
P2DIR |= (RST|STALL_PIN|FAULT);
P6DIR |= SLEEPn;
pinMode(P7_4, OUTPUT);
digitalWrite(P2_2, HIGH); // fault input
digitalWrite(P2_0, HIGH); // Stall input
digitalWrite(P6_6, HIGH); //nSLEEP = high
digitalWrite(P4_1, HIGH); //dir = high
digitalWrite(P2_7, LOW); //reset = low
Serial.begin(115200);
SPI.begin();
SPI.setClockDivider(2);
delay(1);
Initialize();
getCurrentRegisters();
digitalWrite(P7_4, HIGH);
delayMicroseconds(10);
digitalWrite(P7_4, LOW);
}
void loop()
{
WriteSPI(0x0C, 0x05);
for(i=0; i<200; i++){
digitalWrite(P4_2, LOW); // step
delayMicroseconds(100);
digitalWrite(P4_2, HIGH);// step
delayMicroseconds(10000);
}
WriteSPI(0x0C, 0x04);
delay(1000);
WriteSPI(0x0C, 0x07); //reverse the direction to return back
for(i=0; i<200; i++){
digitalWrite(P4_2, LOW);
delayMicroseconds(100);
digitalWrite(P4_2, HIGH);
delayMicroseconds(10000);
}
WriteSPI(0x0C, 0x04);
delay(1000);
}
unsigned int WriteSPI(unsigned char dataHi, unsigned char dataLo)
{
// unsigned int readData = 0;
// SPI.setBitOrder(MSBFIRST);
// digitalWrite(P8_1, HIGH);
// SPI.transfer(dataHi);
//
// SPI.transfer(dataLo);
// digitalWrite(P8_1, LOW);
unsigned int readData = 0;
digitalWrite(P8_1,HIGH);
UCB0TXBUF = dataHi;
while (UCB0STAT & BUSY);
readData |= (UCB0RXBUF << 8);
UCB0TXBUF = dataLo;
while (UCB0STAT & BUSY);
readData |= UCB0RXBUF;
digitalWrite(P8_1, LOW);
readData &= 0x7FFF;
return readData;
}
void Initialize()
{
//CTRL Register defaults
unsigned char CTRLdataHi, CTRLdataLo;
CTRLdataHi = 0x0C;
CTRLdataLo = 0x05;
WriteSPI(CTRLdataHi, CTRLdataLo);
//TORQUE defaults
unsigned char TORQUEHi, TORQUELo;
TORQUEHi = 0x13;
TORQUELo = 0x1F;
WriteSPI(TORQUEHi, TORQUELo);
//OFF defaults
unsigned char OFFHi, OFFLo;
OFFHi = 0x20;
OFFLo = 0xF0;
WriteSPI(OFFHi, OFFLo);
//BLANK defaults
unsigned char BLNKHi, BLNKLo;
BLNKHi = 0x31;
BLNKLo = 0xF0;
WriteSPI(BLNKHi, BLNKLo);
//DECAY defaults
unsigned char DECAYHi, DECAYLo;
DECAYHi = 0x41;
DECAYLo = 0x10;
WriteSPI(DECAYHi, DECAYLo);
//STALL defaults
unsigned char STALLHi, STALLLo;
STALLHi = 0x53;
STALLLo = 0x40;
WriteSPI(STALLHi, STALLLo);
//DRIVE defaults
unsigned char DRIVEHi, DRIVELo;
DRIVEHi = 0x60;
DRIVELo = 0x0F;
WriteSPI(DRIVEHi, DRIVELo);
//STATUS defaults
unsigned char STATUSHi, STATUSLo;
STATUSHi = 0x70;
STATUSLo = 0x00;
WriteSPI(STATUSHi, STATUSLo);
}
void getCurrentRegisters()
{
Serial.print("\n-----------------------------------------------\n");
Serial.print("CTRL register ");
Serial.print(WriteSPI(0x80, 0x00),HEX);
Serial.print("\n");
Serial.print("TORQUE register ");
Serial.print(WriteSPI(0x90, 0x00),HEX);
Serial.print("\n");
Serial.print("OFF register ");
Serial.print(WriteSPI(0xA0, 0x00),HEX);
Serial.print("\n");
Serial.print("BLANK register ");
Serial.print(WriteSPI(0xB0, 0x00),HEX);
Serial.print("\n");
Serial.print("DECAY register ");
Serial.print(WriteSPI(0xC0, 0x00),HEX);
Serial.print("\n");
Serial.print("STALL register ");
Serial.print(WriteSPI(0xD0, 0x00),HEX);
Serial.print("\n");
Serial.print("DRIVE register ");
Serial.print(WriteSPI(0xE0, 0x00),HEX);
Serial.print("\n");
//Serial.print("STATUS register ");
//Serial.print(WriteSPI(0xF0, 0x00),HEX);
//Serial.print("\n-----------------------------------------------\n");
}


