2016-04-05 2 views
0

Я хочу отправить строку из обработки в arduino. но Arduino не получает каких-либо данных из последовательного ... смотрите ниже для обработки кода:arduino не принимает последовательных данных

import processing.serial.*; 
Serial myPort; 

void setup(){ 
    String portName = Serial.list()[2]; 
    myPort = new Serial(this, portName, 9600); 
} 

void draw(){ 

    myPort.write(parseRed + " | " + parseGreen + " | " + parseBlue); 

} 

посмотреть здесь мой код Arduino:

String serialData; 

String serialDataRed; 
String serialDataGreen; 
String serialDataBlue; 

void setup(){ 
    Serial.begin(9600); 

} 

void loop(){ 

    if (Serial.available()) { 
     serialData = Serial.readString(); 

     serialDataRed = serialData.substring(0, 5); 
     serialDataGreen = serialData.substring(9, 16); 
     serialDataBlue = serialData.substring(20, 26); 
    } 

} 

, когда я запустить этот скрипт ничего не происходит Arduino Безразлично» я вижу, чтобы получать какие-либо данные ... может кто-то сказать мне, что я делаю неправильно?

+0

Что такое 'parseRed',' parseGreen', и 'parseBlue'? Где они определены и каковы их ценности? Вызывается ли функция Arduino 'loop()'? Включает ли это утверждение if if? Вам повезет, если вы опубликуете [mcve] и расскажете нам о шагах отладки, которые вы уже сделали. –

+0

parseRed, parseGreen, parseBlue - это строки. они выглядят следующим образом: «minRed» или «neuGreen» или «maxBlue» и так далее. и да функция loop() вызывает вызов, потому что она аналогична функции draw() при обработке. – FutureCake

+0

Но откуда вы знаете, что на самом деле его называют? Проводили ли вы какую-либо отладку, чтобы гарантировать это? Вы должны сузить проблему до определенного места, где фактическое выполнение кода отличается от того, что вы ожидаете. Мы не можем с этим справиться, если вы не опубликуете [mcve], который показывает код, который вы фактически используете. –

ответ

0

хорошо я нашел мою ошибку: D любопытное глупая ошибка теста ...

String portName = Serial.list()[2]; 

должно быть:

String portName = Serial.list()[3]; 

, потому что мой Arduino был подключен к другому USB-порту, чем раньше. .. , так что урок: проверьте, используете ли вы правый порт ... спасибо kevin за помощь тесто:

Смежные вопросы