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

problem in using modem

I am using p89c51Rd2 chip
serial port is connected to modem port
after dialling connection is established but ,didn't receive "CONNECTED 9600" string to progarmm
is problem with speed of serial port? I have treid using getchar and GetByte routine

  • How did you get it to dial and connect?

    If you did it by sending commands to the modem, then the baud rate etc should be OK?

    Are you sure that the modem is actually sending the string?

    Can you receive anything back from the modem?
    What if you just send "AT" - do you get "OK"?

    Are you sure that you've correctly set up your command & response termination characters?

    "didn't receive "CONNECTED 9600" string to progarmm"

    These "verbose" response strings are intended for manual use by a human operator sitting at a terminal - you are wasting your effort trying to parse them in an automatic system!
    You would be far better to switch to the "terse" responses, where the modem just sends a numeric code - these are far easier to interpret programmatically!

    See the Manual for your modem.

    Have you tried debugging this in the simulator, using the PC's serial port?

  • I am Using 3 lines for modem TXD,RXD and DTR
    now i could successfully dial and send some string through modem from uC to PC
    But for ATH that is for hanging modem i need to toggle DTR line
    But for some reason it's not working(may be more or less delay required)
    can u tell me how to hang modem when only 3 lines are used?

  • "I am Using 3 lines for modem TXD,RXD and DTR ... i need to toggle DTR line But for some reason it's not working"

    Of course it's not - you just said you don't have a DTR line!!!

    "can u tell me how to hang modem when only 3 lines are used?"

    You need to escape to Command mode - see your modem's Manual

  • The standard method of getting back to command mode is:
    1 second pause
    then three "+" characters rapidly
    then another 1 second pause.

    Toggling DTR is a much quicker way to get there, but you have to send a specific command to the modem to enable this behaviour, see the manual.

  • "Toggling DTR is a much quicker way"

    and a lot easier - none of that critical timing!

    "but you have to send a specific command to the modem to enable this behaviour"

    The "Guard Time" (1 second before & after, in your example) and the "Escape Character" ('+' in your example) will also all be programmable via S-Registers; possibly also the time between "Escape Characters"

    "see the manual"

    what else?!