I have two processors, a Feather & a Teensy. I've been able to get both working Master/Slave to the serial monitor. The teensy just puts what I type from the serial monitor -> its screen. I can send commands to the Feather with the serial monitor and it responds as it should.
I tied TX of the teensy Serial port 1 to the RX on the Feather. TC on feather to RX Port 1 on the teensy.
What more do I need to do so that they talk to one another as opposed to the serial monitor on my computer?
So am I A proper descrition of the problem. And maybe some sample code that you used?
jimLee:
What more do I need to do so that they talk to one another as opposed to the serial monitor on my computer?
In theory nothing.
I'm not familiar with either board; a (little) familiar with the 32U4. Both use native USB to my knowledge (32U4 does). One of the common lines in setup for native USB is
void setup()
{
while(!Serial);
}
You will need to get rid of that if you have no intention of using communication with the PC; it will wait forever for a connection to an endpoint (on the PC).
On native USB boards, Serial uses the USB hardware in the chip (e.g. in the 32U4) and does not touch RX1 and TX1. Serial1 uses the UART (which is connected to the RX1 and TX1 pins) and does not touch the USB.
It does, but I just read that on the teensy forum. (Going back and forth, this, teensy, adafruit) Both boards needed to use Serial1. I've never heard of Serial1 before tonight. This is kind'a what I suspected. I was missing some key bit that directed what I was trying to transmit and receive to the pins.
So.. Serial1 is to the pins, straight Serial is to the monitor?
Oh, and Serial1 was the bit I was missing. They are talking now. Just not understanding each other yet.
D+ and D- are directly (possibly via some protection circuit) connected to the USB connector. TX and RX are connected to the respective pins on the headers.
I think that in general the naming of the RXn and TXn pins reflects which Serial class you need to use.
RX/TX or RX0/TX0 -> Serial; it might be possible that you can also use Serial0 (too lazy to check the HardwareSerial class )
RX1/TX1 -> Serial1
etc
Both boards needed to use Serial1. I've never heard of Serial1 before tonight.
Never looked at / used a Mega?
Oh, and Serial1 was the bit I was missing.
That is why I suggested that you posted your code (or representative example). I still have the suspicion that with your original code, you were just echoing and not transfering between the two.
OK, bumped the baud rate down to 9600 and everything works!!
Over reasonably short distances, high baudrates should work as well; they just need to be the same at both sides. Time to get the scope out if they can't communicate at higher baudrates.