hi, i am trying to interface gsm mobile(ericson )with 8051. mobile and microcontroller responding correctly if i connect with computer serial port(com).but i connect gsm mobile with 8051 with null modem conection mobile is not respoding.in hypertermminal i used without any flow control signals.can you please help me in this?suggest me exate requaired signals to complete communication between mobile and 8051.
Do you know what a paragraph is? It's when you break your text down into small sections. Come on, why patronize?
Anyway, I had a similar problem, when I tried to have a 8051 communicate with an Ericsson T68i over the serial port. When I connected the T68i to the PC (RX, TX and GND pins only - RTS is NOT required), with the use of max232 level shifter of course, I had no problems. When I in Hyperterminal (9600, 8bits, no parity, 1 stop bit, no flow control) typed e.g. "AT" I got the reply "OK". When I then connected the T68i to the 8051 and tried to read the response from the T68i and display it on a LCD I only got rubbish.
... printf("AT\r\n"); getString(buf); //get string without echo LCD_DisplayString(buf);
In my case the problem was that I didn't realize the T68i inserts a couple of 0x0D and 0x0A (3 in total if I remember correctly) in front of the reply. So modifying the above to:
... printf("AT\r\n"); buf[0]=getCharacter(); // disregard '\n' buf[0]=getCharacter(); buf[0]=getCharacter(); getString(buf); //get string without echo LCD_DisplayString(buf);
solved my problem. The LCD now displays "OK"
AT Commands are terminated by the single character specified in the S3 register - usually CR
With command echo enabled, the modem echoes the CR and appends the repsonse formatting character specified in the S4 register - usually LF
printf("AT\r\n");
The LF (\n) here is spurious - it probably accounts for the extras you are seeing...