Hi,
I have adapted the SimpleUSBBackchannel code for the MSP-EXP430F5529LP Launchpad for a particular use case. The original program works as follows:
Anything sent over UART1 (connected to my PC over a virtual COM port through ez-FET lite) is reflected on USB (connected to my PC over USB using the ez-FET lite too, as a hub) and vice versa. I have tested this very well through Hyperterminal, etc. This, of course, works very well.
Now, I need to connect to a GSM module over UART0 and the setup I am following is:
- Anything sent over USB from PC will be simply reflected back over UART1 back channel (working absolutely fine)
- Anything sent over UART1 (virtual COM) from PC will be directed to UART0 (at 115200bps baud rate) as well as reflected over USB to PC for debug purposes.
- Anything sent from GSM module over UART0 will be directed to PC over USB.
I have not copied the entire code because it is already part of the MSP-EXP430F5529LP user experience download, and my UART0 handling is an exact replica of the UART1 code with just the "1" changed to "0" in register names, etc.
The problem is that I am receiving the messages from the GSM module on boot up, but every single "first character" on every new line is missing! And, when I try to give it AT commands over UART0 (using UART1 terminal on PC), there is absolutely no response! Even if I hard code it, there is no response! It seems that the "<CR><LF>" or something like that is completely missing from what I am sending over to the GSM module.
I have tried connecting the UART0 TX and RX with a jumper cable and see that indeed, the first character of every new line is missing! The LPM3 is exited at the end of every RX ISR (UART0 & UART1) but the program never asks the MSP430 to actually enter LPM3 (or any other sleep state) ever!
Any pointers or guidance would be immensely appreciated!
Regards,
Anup