You can use the "Go Advanced" and then add an attachment to the reply.
The physical connection, if it is an RS232 interface then it will need to go through a level shift such as a MAX232 IC.
The delays are needed for the example, it isn't that inefficient, there are routines to "putstring" but they work using an interrupt flags, as for delays, it's called an inter character delay, all serial comms have them, I have been programming serial ports for years now, otherwise you will get garbled message or characters missing as the UART transmit buffer cant send before requesting an outgoing transmission, as you saw last time.
You can, however, wait for the transmit interrupt flag to clear before sending a new char, which will make sure the previous char has either gone through or timed out.
This is how HI TECH does it, and it is part of their example.
Code:
putch(unsigned char byte)
{
/* output one byte */
while(!TXIF) /* set when register is empty */
continue;
TXREG = byte;
}
Now you understand, or are trying to understand how the UART works etc, you can start using the efficient code to construct your firmware.
The example above, introduces a new "flag" called TXIF, or "Transmission (TX) Interrupt Flag" what this does is SET when the transmission is complete.
So in our case, if it is still UNSET (or is 0) then it will just "continue" the rest of the application, otherwise it will set TXREG to our next character.
You could expand on this function by returning a bool if successful, and if it is still trying to transmit the last char, retry until successful or a timeout.
I trust your Bluetooth module is RS232 and NOT USB?
Wilksey