اطلاعیه

Collapse
No announcement yet.

مشکل با برنامه نویسی sim900 - عدم نمایش تاریخ و ساعت در اس ام اس دریافتی

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل با برنامه نویسی sim900 - عدم نمایش تاریخ و ساعت در اس ام اس دریافتی

    سلام - با ماژول sim900 میتونم اس ام اس دریافت کنم ولی به همراه اس ام اس یکسری چیزای اضافی مثل تاریخ و ساعت میان که من نمیخوام اینها ظاهر بشن - در واقع متن اصلیمو میخوام - من میخوام یک رله رو روشن خاموش کنم بنابراین باید به متنی که با گوشی به ماژولم فرستادم دسترسی داشته باشم ولی تاریخ و ساعت و ... مزاحمت ایجاد میکنن<br>این کدیه که آقای رحیمی زحمتشو کشیده ولی نمیتونم اصلاحش کنم<br>ممنون میشم یه نفر راهنماییم کنه که چطور به متن اصلی اس ام اس دسترسی داشته باشم


    کد:
    #include <mega8.h>#include <delay.h>
    #include <alcd.h>
    #include <stdio.h>
    
    
    void main(void)
    {
    char Enter=13;
    char sms[250];
    char B;
    
    
    char k=0;
    int j=0;
    int i=0;
    for (k=0;k<250;k++)
    {
     sms[k]=0;
    }
    DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);
    PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);
    
    
    DDRC=(0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0);
    PORTC=(0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);
    
    
    DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);
    PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (1<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);
    
    
    UCSRA=(0<<RXC) | (0<<TXC) | (0<<UDRE) | (0<<FE) | (0<<DOR) | (0<<UPE) | (0<<U2X) | (0<<MPCM);
    UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (1<<RXEN) | (1<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);
    UCSRC=(1<<URSEL) | (0<<UMSEL) | (0<<UPM1) | (0<<UPM0) | (0<<USBS) | (1<<UCSZ1) | (1<<UCSZ0) | (0<<UCPOL);
    UBRRH=0x00;
    UBRRL=0x33;
    
    
    lcd_init(16);
    
    
    lcd_clear();
    lcd_gotoxy(0,0);
    printf("ATE0%c",Enter);
    lcd_putsf("Get sms...");
    delay_ms(1000);
    lcd_clear();
    
    
    // Global enable interrupts
    #asm("sei")
    
    
    while (1)
          {
           if(PIND.2==0)
           {
            printf("AT+CMGR=1%c",Enter);
            
            while(j==0)
            {
             B=getchar();
             
             switch(B)
             {
              case 0:
               break;
              
              case 10:
               if(sms[0]!=0)
               {
                j=1;
               }
               break;
               
              case 13 :
               if(sms[0]!=0)
               {
                j=1;
               }
               break;
               
              default:
               sms[i]=B;
               i++;
             }
            }
            
            lcd_puts;
            delay_ms(500);
            
           }
    
    
          }
    }
    جدیدترین ویرایش توسط xxxx123; ۱۰:۴۴ ۱۳۹۶/۰۴/۱۲.
لطفا صبر کنید...
X