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"); }