Не могу получить данные с COM порта.

Lars
Offline
Зарегистрирован: 13.11.2016
import processing.serial.*;

Serial port; 

int valA; int porty=0;
int i=10;
int xn=0;
int yn=0;
int xk=0;
int yk=0;

int[] valuesA;

void setup()
{
size (700, 700); 
port = new Serial(this,"COM2", 9600);
background(0);
stroke(255);
line(0,350,700,350);
}
void draw()
{  
while (port.available() > 0) {
    porty = port.read();
   }
yk = porty;
text (yk, 10, 30);
if (xk > 700) {xk = 0; background(0);
stroke(255);
line(0,350,700,350);xn=0;} {}
line (xn, 350-yn, xk, 350-yk);
xn=xk;
yn=yk;
xk=xk+1;
}

Добрый день. Необходимо построить график давления, данные передает ардуино в Com порт. Через Terminal вижу, на Processing что то не то. 

Nosferatu
Offline
Зарегистрирован: 04.11.2012

Надо было создать топик здесь.

Попробуйте закрыть Arduino IDE перед запуском вашей программы.

ourlive
Offline
Зарегистрирован: 26.05.2012

1. Номер порта и скорость верны?

2. Ошибки есть?

3. Для отладки использовать println

4. Порт задавать через построение списка всех портов (как в примерах, заодно выяснить сколько портов в наличии) и как в примерах его задавать.

5. Для проверки работоспособности в ардуину залить простейший скетч эхо, читающий данные serial и их же отсылающий обратно, из процессинга отсылать в com и читать, после получения опыта применить его для вашей задачи.

Java в некоторых ситуациях виснет при работе с портами блоча к ним доступ, в таких случаях убивать через диспетчер (верноно для видов и не последних версий явы).