Я работаю над созданием интерфейса между MATLAB и Arduino. Другими словами, я хочу отправить некоторые данные из MATLAB в Arduino. Я написал программы как в MATLAB, так и в Arduino IDE.Загрузка эскиза в Arduino
программа MATLAB:
c = 1;
if (c ~= 0)
f = 1;
else
disp('vhxhjf');
end
disp(f)
arduino=serial('COM5','BaudRate',9600); % create serial communication object on port COM4
fopen(arduino); % initiate arduino communication
while f
fprintf(arduino,'%s',char(f)); % send answer variable content to arduino
end
fclose(arduino); % end communication with arduino
Код для Arduino:
int ledPin = 13;
int matlabData ;
void setup() {
pinMode(13,OUTPUT);
Serial.begin(9600);
// turn the LED on when we're done
// digitalWrite(13, HIGH);
}
void loop() {
if(Serial.available() > 0) {
matlabData = Serial.read();
if (matlabData != 0) {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13,LOW);
delay(1000);
}
else
digitalWrite(13,LOW);
}
}
Проблема заключается в том, когда я отправляю эскиз, эта ошибка бросали регулярно в Arduino язь:
avrdude: ser_open(): can't open device "\\.\COM5": The system cannot find the file specified
Это была работа с первой попытки, но после этого вышеупомянутая ошибка бросается непрерывно.
Также в MATLAB, после первой попытки, выбрасывается следующее сообщение об ошибке:
enter code here
Error using serial/fopen (line 72)
Open failed: Port: COM5 is not available. No ports are available.
Use INSTRFIND to determine if other instrument objects are connected to requested device.
Error in SP (line 65)
fopen(arduino); % initiate arduino communication
>> instrfind
Instrument Object Array
Index: Type: Status: Name:
1 serial open Serial-COM5
2 serial closed Serial-COM5
, а также команда instrfind
показывает, что com5 порт закрыт после первой попытки.
Я попытался решения, приведенные в этой ссылке, но она не работает: http://forum.arduino.cc/index.php?topic=48421.0
Я также проверил серийный порт и плату в arduino ide. они оба правильны. i.e arduino uno и com5 –