This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

gsm interface with microcontroller

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.

Parents
  • 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"

Reply
  • 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"

Children
  • 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...