My Smart VR project is working great thanks in part to this forum. I have one more issue I must address and that involves the need for two separate Asynchronous Serial Outputs.
I currently have the Smart VR’s TX pin sending sound commands to an external MP3 player- I have the Baud configured for the player. I am using: _SerialSend(SERIAL_RXTX_PIN, ‘(value here)’); and it works perfectly.
I now need to send bytes out a second port to a 3.3V Arduino’s Serial RXI pin. This raises a few questions I need answered in order to feel comfortable that I am not going to damage the Smart VR Board:
I recognize that I can configure any of the Smart VR’s GPIO pins as a serial output, but, I also understand that the output cannot be directly connected to a high impedance external MCU pin; the manual describes that the signal must be driven through a transistor, resulting in an inverted output.
My first question is whether or not the Arduino RXI pin is in fact a high impedance connection. Would the Smart VR see a large load here, or can I connect a wire straight from the Smart VR’s GPIO pin to the Arduino’s RXI pin?
If such a connection is high impedance, requiring a transistor buffer, could I instead possibly use the Smart VR’s DBG pin as a second serial output, and if so, could that then be directly connected just as the TX pin is to the MP3 player I have working, without the need for a buffer or additional components?
I understand that the DBG output has its own set of data output functions which would then be used instead of _SerialSend, but I should be able to work around that in programming if it is possible to make the physical connection work.
Finally, the manual describes both the Diagnostic Ouput and the Debug Output as normally being enabled when the board is reset with the DBG Enable pin held low. Does using _DebugOn or _DiagOn avoid the need for the DBG Enable pin to be held low on bootup, or does that need to happen regardless? I see no Debug Enable pin broken out on the Smart VR board, yet there is a DBG pin. Can I assume that the Debug Enable pin is already held low internally to the board?
My goals here are twofold: first I hope to avoid the inverted signal using a buffered output would create, second I wish to reduce the number of discrete components on the finished product.
Any help is much appreciated.
Rob