Sometimes, as a first step, when I'm starting a connection to a new device, I like to use a terminal program like putty to see if can see any data coming from the serial port. That way I can concentrate on possible issues like hardware connections, i.e. transmit and receive pins being reversed from what might be expected. Once I know the physical connection is correct, and the baudrate and handshake values are known, and that the device is transmitting data, then I try to interface with my code, knowing that if I don't see something then it is likely some setup with my code, or the code itself, rather than start off wasting time troubleshooting code when the problem was external to the code.