I've been having ongoing issues with serial comms with Teensy 3.1/LCs, and have finally tracked it down to the El Capitan betas I've been running on my Macs. The behaviour is strange, and I'd like to raise it with Apple, but I'd like as much info as possible about the Teensy's USB-Serial method as possible so I can try and Make It Easy For Them To Understand. They may not know what a Teensy is. It would be very helpful if I could, say, find another device that exhibits the same issues.
The problem:
Simple loopback code on a Teensy (I've tested LC and 3.1):
Whatever the application I use to talk to the Teensys (I'm writing my own, but this happens with any serial terminal software (eg CoolTerm), and even happens with the Serial Monitor in the Arduino IDE), I get the following behaviour cycle:
- open the serial port: everything works perfectly. Type on the Mac and it gets echoed back.
- close the serial port: whatever the software / terminal package I'm using, this seems to tie the application up for several seconds
- open the serial port again: no response from the Teensy. Chars are transmitted OK but ignored by the Teensy.
- close the serial port again: port closes instantly.
- back to the start of this cycle - everything'll work OK again temporarily...
This problem does not occur if I run the same code on an Arduino Mega.
What technology is behind the USB-Serial interface provided by the Teensy? It doesn't need a driver installed, but it operates super-fast - so how does it work? Does it pretend to be an FTDI or Prolific chip?
Are there any other dev boards or devices that use the same method of comms, so I can check that this problem is consistent?
The problem:
Simple loopback code on a Teensy (I've tested LC and 3.1):
Code:
void setup() {
Serial.begin(115200);
pinMode(13,OUTPUT);
}
void loop() {
if (Serial.available() > 0) {
digitalWriteFast(13, HIGH);
Serial.write(Serial.read());
digitalWriteFast(13,LOW);
}
}
Whatever the application I use to talk to the Teensys (I'm writing my own, but this happens with any serial terminal software (eg CoolTerm), and even happens with the Serial Monitor in the Arduino IDE), I get the following behaviour cycle:
- open the serial port: everything works perfectly. Type on the Mac and it gets echoed back.
- close the serial port: whatever the software / terminal package I'm using, this seems to tie the application up for several seconds
- open the serial port again: no response from the Teensy. Chars are transmitted OK but ignored by the Teensy.
- close the serial port again: port closes instantly.
- back to the start of this cycle - everything'll work OK again temporarily...
This problem does not occur if I run the same code on an Arduino Mega.
What technology is behind the USB-Serial interface provided by the Teensy? It doesn't need a driver installed, but it operates super-fast - so how does it work? Does it pretend to be an FTDI or Prolific chip?
Are there any other dev boards or devices that use the same method of comms, so I can check that this problem is consistent?