Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2009-09-19 14:36:10

  szewczyk - Stary wyjadacz :P

szewczyk
Stary wyjadacz :P
Zarejestrowany: 2006-12-03

avr-gcc odebranie sms

witam
mam problem z którym dość długo się juz męcze bezskutecznie  :(
odbieram sms z telefonu simens który wygląda tak:

Kod:

+CMGR: "REC READ","+48xxxxxxxxx",,"09/09/14,12:33:57+08"        
tresc sms

odbieram go w przerwaniach :

Kod:

volatile char buffor_rx = 0 ; 
SIGNAL (SIG_UART_RECV) 
{ 
   znak = UDR ; 

   if(znak == 0x0d || znak == 0x0A ) 
   { 
      count = 0 ; 
      buffor_rx = 1 ; 
   }else{ 
      if(count > 34 ) count = 34 ; 
      buffor[count] = znak ; 
      ++count; 
   } 
} 

volatile char timeout = 10 ; 

SIGNAL(SIG_OVERFLOW1) 
{ 
   // TIMER oczekiwania na moduł 
   if(timeout > 0) 
   { 
      --timeout; 
   } 
} 


void sms_read(unsigned char numer) 
{ 
    
   char sms_ok = 0 ; 
   send_str("AT+CMGR="); 
   send_byte(48+numer); 
   send_byte(0x0D); 

   while(timeout) 
   { 
      if(buffor_rx == 1)       
      { 
         if(strncmp(buffor,"tresc sms",9) == 0 ) 
         { 
            buffor_rx = 0 ; 
            sms_ok = 1; 
         }else{ 
            buffor_rx = 0 ; 
            sms_ok = 0 ; 
            timeout = 0 ; 
         } 
      } 
       
      if(sms_ok == 1 && buffor_rx == 1) 
      { 
         if(strncmp(buffor,"+CMGR",5) == 0 ) 
         { 
            PORTA |= (1<<PA1);   // zapal led 
            timeout = 0 ;       
         }    
      } 

   } 
}

ale nijak to idze działać prawidłowo  :(
Jak najlepiej podzielić tak długi string (tablice char) aby "wyłuskać" numer telefonu oraz treść ?

Offline

 

#2  2009-09-19 22:33:21

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: avr-gcc odebranie sms

ja bym probowal parsowac to odrazu przy odbieraniu z uart ...


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)