Ðăng Nhập

View Full Version : Nhờ giúp đỡ sim900


BachHo
25-09-2012, 02:32 PM
Chào mọi người. Mình đang làm về đề tài sim900. Khi có SMS đến thì sim900 trả về chuỗi +CMTI. Mình đã kiểm tra nó trong ngắt nhận. Song khi test trên mạch Pic, thì chỉ gửi được SMS đầu là nó báo có sms. Sau đó, gửi tin thì nó ko báo gì nữa. Dù mình đã reset tất cả rồi nhưng vẫn không được. Mọi người xem tại sao giúp mình với.
Code của mình đây. Thanks mọi người nhé.
#include <16f877a.h>
#fuses nowdt,hs,noput,noprotect,nodebug,nobrownout,nolvp, nocpd,nowrt
#use delay(clock=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=8)
#include <lcd_lib_4bit.c>

char sms[80];
char c=0x00,c1=0x00,c2=0x00,c3=0x00,c4=0x00,c5=0x00;
int8 new_sms=0,i=0,j=0;

#INT_RDA
void ngat()
{
c=getc();
if(c=='+') c1=c;
if(c=='C') c2=c;
if(c=='M') c3=c;
if(c=='T') c4=c;
if(c=='I') c5=c;
if(c1=='+' && c2=='C' && c3=='M' && c4=='T' && c5=='I') new_sms=1;
sms[i]=c; i++;
}

void delete_sms()
{
printf("AT+CMGD=1,4");//delete all message
putc(13);delay_ms(500);
}

void reset()
{
i=0;
new_sms=0;
c=0x00,c1=0x00,c2=0x00,c3=0x00,c4=0x00,c5=0x00;
for(j=0;j<90;j++) //Xoa sms[]
{sms[j]=0;}
}


void main()
{
enable_interrupts(global);
enable_interrupts(int_rda);
lcd_init();printf(lcd_putchar,"Seting....");delay_ms(2000);lcd_putcmd(0x01);
reset();
delete_sms();
reset();
printf(lcd_putchar,"Start");delay_ms(3000);lcd_putcmd(0x01);
while(true)
{
if(new_sms==1)
{
reset();
printf(lcd_putchar,"New message");delay_ms(3000);lcd_putcmd(0x01);
// printf("at+cmgs=\"0922609003\"\r\n");
// delay_ms(500);printf("Da nhan duoc sms");delay_ms(500);putc(26);delay_ms(500);
reset();
}
}
}

daotruong
12-10-2012, 12:33 AM
chào bạn, bạn đã làm được module Sim900 đó ok chưa.

Tien Le
15-10-2012, 02:48 PM
:) Cái này bạn config lại bằng cấu hình nhận tin nhắn của SIM900 nhé, nó mặc định là dạng lưu tin nhắn trong vùng nhớ của SIM nên nó không hiện ra được. Đó là lệnh AT+CNMI, good luck!
-----
Bán các module SIM900 giá 430k/chiếc. LH:0972821993

pthien0288
01-01-2013, 10:35 PM
mình cũng tìm hiểu chút đỉnh về vấn đề này vấn đề mà bạn gặp phải là khi gửi tin nhắn đến sim và sim trả về +CMTI báo đã nhận tin nhắn sau đó bạn phải xóa tin nhắn nhận được trong sim như vậy bạn muốn gửi bao nhiêu lần cũng được