Forums

LPC2148 interface problem with MC35i

Started by bhimanipankaj January 11, 2006
Dear frends,

I have MCB2140 board from KEIL and I want to connect Siemens MC35i GSM
modem with the same on COM1 of lpc2148.

The port given on board is not fully connected as there are only two
wires connected Tx and Rx. I want to make a data call to another PC
and the at command is ATD<NUMBER>

Problem is if i m transmitting this at command or say any data from
board to PC using serial comm, I can receive that on PC.
But when i am sending same command to GSM modem from my board I am not
getting any responce resulting there is no ring to the other modem
which is connected to PC.

I want to do it with two wire only so need your help..

Please please guide me

Pankaj

Here is my code which I am using for same.

#include <stdio.h>                /* prototype declarations for I/O
functions */
#include <LPC21xx.H>              /* LPC21xx definitions                  
   */


/****************/
/* main program */
/****************/
int main (void)  {                /* execution starts here                
   */

  /* initialize the serial interface   */
  char temp;
  temp=0x0d;
  PINSEL0 = 0x00050000;           /* Enable RxD1 and TxD1                 
   */
  U1LCR = 0x83;                   /* 8 bits, no Parity, 1 Stop bit        
   */
  U1DLL = 97;                     /* 9600 Baud Rate @ 15MHz VPB Clock     
   */
  U1LCR = 0x03;                   /* DLAB = 0                             
   */

  printf ("atd9879636819;");
  printf("%c",temp);
                                  /* the 'printf' function call*/         
     

  while (1) {                     /* An embedded program does not stop and
   */
    ;  /* ... */                  /* never returns.  We've used an endless
   */
  }                               /* loop.  You may wish to put in your
own   */
}                                 /* code were we've printed the dots
(...).  */



"bhimanipankaj" <bhimanipankaj@gmail.com> schreef in bericht
news:oZadne9v0O-hDlneRVn-ig@giganews.com...
> > But when i am sending same command to GSM modem from my board I am not > getting any responce resulting there is no ring to the other modem > which is connected to PC.
[snip]
> printf ("atd9879636819;");
I don't know, but these ATD commands don't need/want a ';' at the end, at least they didn't a decade ago, when I played with modems. Try this: printf ("atd9879636819\r"); -- Thanks, Frank. (remove 'q' and '.invalid' when replying by email)
bhimanipankaj wrote:
> Dear frends, > > I have MCB2140 board from KEIL and I want to connect Siemens MC35i GSM > modem with the same on COM1 of lpc2148. > > The port given on board is not fully connected as there are only two > wires connected Tx and Rx. I want to make a data call to another PC > and the at command is ATD<NUMBER>
First of all You must send command with new line sign at the end, eg. "ATD<number>;\r\n". Try to apply RTS signal to the modem. My Siemens C35i mobile phone doesn't want to respond for commands if it doesn't have RTS signal set to +12V. -- Best Regards, Artur P&#322;atek
Dear frends.......

again very very thank you for helpful tips.

but for carriage return if u read my program it,s already there by 

printf("%c",temp);  /* and that temp is defined as 0x0D earlier for
ENTER.

Now , let me tell u about my circuit is

LPC2148's UART1-----only Tx and Rx and Ground are connected to
MAX563-------then RS232 cable and then MC35i modem.

Tried everything but still modem is not responding.......

Help :) :( :)



>bhimanipankaj wrote: >> Dear frends, >> >> I have MCB2140 board from KEIL and I want to connect Siemens MC35i GSM >> modem with the same on COM1 of lpc2148. >> >> The port given on board is not fully connected as there are only two >> wires connected Tx and Rx. I want to make a data call to another PC >> and the at command is ATD<NUMBER> > >First of all You must send command with new line sign at the end, >eg. "ATD<number>;\r\n". > >Try to apply RTS signal to the modem. My Siemens C35i >mobile phone doesn't want to respond for commands if >it doesn't have RTS signal set to +12V. > >-- >Best Regards, >Artur P&#2013265925;&#8218;atek >
In news:rbCdnbBU3eaSrVvenZ2dnUVZ_sudnZ2d@giganews.com,
bhimanipankaj <bhimanipankaj@gmail.com> typed:
> > but for carriage return if u read my program it,s already there by > > printf("%c",temp); /* and that temp is defined as 0x0D earlier for > ENTER. > > Now , let me tell u about my circuit is > > LPC2148's UART1-----only Tx and Rx and Ground are connected to > MAX563-------then RS232 cable and then MC35i modem. > > Tried everything but still modem is not responding.......
You must activate its RTS input to tell it that you are ready to receive bytes from it. You can tie it permanently active if you don't want to connect it to your CPU. Karl Olsen
"bhimanipankaj" <bhimanipankaj@gmail.com> schreef in bericht
news:rbCdnbBU3eaSrVvenZ2dnUVZ_sudnZ2d@giganews.com...
> Dear frends....... > > again very very thank you for helpful tips. > > but for carriage return if u read my program it,s already there by > > printf("%c",temp); /* and that temp is defined as 0x0D earlier for > ENTER.
Yes, but you also have that semicolon at the end of your number: printf ("atd9879636819;"); Should be: printf ("atd9879636819"); printf("%c",temp); or: Should be: printf ("atd9879636819\r"); [snip] Also make sure that your signal does not need to be inverted. When in doubt, just try inverting it, and see what happens ;) -- Thanks, Frank. (remove 'q' and '.invalid' when replying by email)
  > Yes, but you also have that semicolon at the end of your
> number: > printf ("atd9879636819;");
ATD<number>; causes voice call, where ATD<number> (without semicolon) causes data call in GSM modems. -- Best regards, Artur P&#322;atek
Thnx frends 

ya as u said the atd<number>; , as semicolon is for voice call and i m
trying it on my mobile, so once i will get the call on my mobile it's
confirmed that my modem is responding my board.

see while trying these things with hyper terminal and modem , while typing
AT and <--! (enter) , it was giving the text on terminal "OK", so I think
as only Tx and Rx are connected this "OK" should be coming on Rx line? Is
that right? 

I have also tried applying +12V to the RTS of the modem(PIN 7), but still
result is same, i m just getting noice on Rx line while transfering the
signal using Tx line I can see the data on Tx line on my CRO but again
noise on Rx line ........ :(

Guide me guys pleaseeeeee........my deadlines are close...:( :)

Thanks again to everyone

Pankaj



> > Yes, but you also have that semicolon at the end of your >> number: >> printf ("atd9879636819;"); > >ATD<number>; causes voice call, where ATD<number> (without >semicolon) causes data call in GSM modems. > >-- >Best regards, >Artur P&#322;atek >
Thnx frends

ya as u said the atd<number>; , as semicolon is for voice call and i m
trying it on my mobile, so once i will get the call on my mobile it's
confirmed that my modem is responding my board.

see while trying these things with hyper terminal and modem , while
typing
AT and <--! (enter) , it was giving the text on terminal "OK", so I think
as only Tx and Rx are connected this "OK" should be coming on Rx line? Is
that right?

I have also tried applying +12V to the RTS of the modem(PIN 7), but still
result is same, i m just getting noice on Rx line while transfering the
signal using Tx line I can see the data on Tx line on my CRO but again
noise on Rx line ........ :(

Guide me guys pleaseeeeee........my deadlines are close...:( :)

Thanks again to everyone

Pankaj