I am able to connect my sim900 gsm module with hyper terminal but I am not able to connect it with 89s52. Please help me to connect it.
Why not?
What have you tried?
What results were you expecting?
What results did you actually get?
What have you done to investigate why your results were not as you expected?
You say it "works" with Hyperterminal - so what have you done to determine what's different between that and your 89s52 setup?
What have you learned from the large number of posts already on this forum on this very topic?
What have you learned from the vast number of posts all over the interweb on this very topic?
I connect TX pin of gsm module with Rx pin of 89s52 and Rx pin of gsm with Tx pin of 89s52. I use this program, #include <REGX51.H> #include <AT89X51.H> unsigned char *command_AT = "AT\r"; unsigned char *command_CMGF = "AT+CMGF=1\r"; unsigned char *command_CMGS = "AT+CMGS=\"Mobile Number\"\r"; unsigned char *message = "Message"; unsigned char *CTRLZ = "\x1A";
void puts(unsigned char* ptr); void putc(unsigned char chr); void sendsms(void); void initialize();
main() { initialize(); sendsms(); while(1); }
void initialize() { SCON = 0x50; /*SCON: mode 1, 8-bit UART, enable receive */ TMOD |= 0x20; /*TMOD: timer 1, mode 2, 8-bit */ TH1 = 0xFD; /*TH1: for 9600 baud */ TR1 = 1; /*TR1: timer 1 run */ }
void sendsms() { puts(command_AT); puts(command_CMGF); puts(command_CMGS); puts(message); puts(CTRLZ); }
void puts(char* p) { char *temp = p; /*temp pointer so that the actual pointer is not displaced */ while(*temp != 0x00) { putc(*temp); temp++; } }
void putc(unsigned char chr) { SBUF = chr; while(TI==0); /*Wait until the character is completely sent */ TI=0; /*Reset the flag */ }
I want to send message by GSM module using 89s52. When i burn this program in micro controller. There is no result come.
i use crystal frequency 11.0592MHz. Baud Rate 9600 serial comm. details are 9600-N-8-1