51 lines
1.2 KiB
Plaintext
51 lines
1.2 KiB
Plaintext
|
/**
|
||
|
* Serial Duplex
|
||
|
* by Tom Igoe.
|
||
|
*
|
||
|
* Sends a byte out the serial port when you type a key
|
||
|
* listens for bytes received, and displays their value.
|
||
|
* This is just a quick application for testing serial data
|
||
|
* in both directions.
|
||
|
*/
|
||
|
|
||
|
|
||
|
import processing.serial.*;
|
||
|
|
||
|
Serial myPort; // The serial port
|
||
|
int whichKey = -1; // Variable to hold keystoke values
|
||
|
int inByte = -1; // Incoming serial data
|
||
|
|
||
|
void setup() {
|
||
|
size(400, 300);
|
||
|
// create a font with the third font available to the system:
|
||
|
PFont myFont = createFont(PFont.list()[2], 14);
|
||
|
textFont(myFont);
|
||
|
|
||
|
// List all the available serial ports:
|
||
|
printArray(Serial.list());
|
||
|
|
||
|
// I know that the first port in the serial list on my mac
|
||
|
// is always my FTDI adaptor, so I open Serial.list()[0].
|
||
|
// In Windows, this usually opens COM1.
|
||
|
// Open whatever port is the one you're using.
|
||
|
String portName = Serial.list()[0];
|
||
|
myPort = new Serial(this, portName, 9600);
|
||
|
}
|
||
|
|
||
|
void draw() {
|
||
|
background(0);
|
||
|
text("Last Received: " + inByte, 10, 130);
|
||
|
text("Last Sent: " + whichKey, 10, 100);
|
||
|
}
|
||
|
|
||
|
void serialEvent(Serial myPort) {
|
||
|
inByte = myPort.read();
|
||
|
}
|
||
|
|
||
|
void keyPressed() {
|
||
|
// Send the keystroke out:
|
||
|
myPort.write(key);
|
||
|
whichKey = key;
|
||
|
}
|
||
|
|