Visualizza messaggio singolo
Vecchio 04-01-2010, 18.16.24   #16
zenite
Registered User
 

Iscritto da: 10-12-2005
Messaggi: 35
Feedback: (0)
credo di essermi spiegato male dall'inizio,io sto usando un pic 16f876 con all'interno un programma scritto in picbasic che gestice il tutto con dei comandi seriali verso il tc35 e analizza le risposte,non so se è quello che serve a te,però se capisci come funziona il tutto ne puoi fare uno tu di programma in visualbasic per usare il modulo invece che col pic direttamente col pc, non credo sia tanto difficile,però se ti puo essere utile ti posto una parte del mio programma semplificato e commentato per farti capire cosa intendo con leggere tutto e poi cancellare.
Codice:
'********variabili********************
A               var porta.1
B               var porta.2
C               var porta.3
TMP             VAR     BYTE
TMP1            VAR     BYTE
TMP2            VAR     BYTE
TMP3            VAR     BYTE
TMP4            VAR     BYTE
TMP5            VAR     BYTE
TMP6            VAR     BYTE
TMP7            VAR     BYTE
TMP9            VAR     BYTE
I               VAR     BYTE
J               VAR     BYTE
SMSTXT          VAR     BYTE[22] 'CONTENUTO SMS       
MITTSMS         VAR     BYTE[13] 'MITT DELL SMS      
MITTSMS2        VAR     BYTE[13] 'APPOGGIO           
'********inizio programma*************
main:                  
Lcdout $fe, 1
lcdout $FE, 2                 'torna ad inizio riga
lcdout "in attesa"

gosub RICEVISMS          'routine  che si ripete ciclicamente       
 

if B=0  then           'se l'ingresso a2 è 0 vai alla routine delle chiamate                                       
pause 200
gosub chiamata
endif 

goto main 

RICEVISMS:               'routine che analizza l'sms
'+CMGL: 1,"REC READ","+39XXXXXXXXX",,"09/12/01,17:54:08+00"44448#ON+39XXXXXXXXXX :ESEMPIO di stringa ricevuta dal modulo quando invio il comando HSEROUT ["AT+CMGL=ALL",13]
 lcdout $FE, 2                 'torna ad inizio riga
 lcdout "SMS"
 HSEROUT ["AT+CMGL=ALL",13]
 PAUSE 100
 HSERIN 3000,NOCELL2,[wait ("+CMGL: "), skip 14 ,STR MITTSMS\13, skip 25 ,STR SMSTXT\21]
 Lcdout $fe, 1
 lcdout $FE, 2                 'torna ad inizio riga
 lcdout "Mittente:",str mittsms\21  'visualizzo il mittente dell'sms salvato nell'arrey mittsms
 lcdout $FE, 2                 'torna ad inizio riga
 lcdout ">:",str smstxt\21      'visualizzo l'sms salvato  nell'arrey smstxt
 GOTO LEGGISMS                   'salta alla routine che analizza il comando dell'sms,in questo caso:abilita il num +39XXXXXXXXX ,se è presente un sms_
 LCDOUT $FE,1
 NOCELL2:                           
 RETURN                         ' _altrimenti torna a capo e ricomincia tutto
 
 
 LEGGISMS:
LCDOUT $FE, $C0
LCDOUT "LEGGISMS "                                                 

'qui analizzo il messaggio ed eseguo il comando presente nell'sms
'se è andato tutto bene salto alla routine che cancella gli sms
gosub CANCELLASMS

CANCELLASMS:
Lcdout $fe, 1
lcdout $FE, 2                           'torna ad inizio riga
lcdout "CANCELLA SMS"
   For TMP1=1 TO 10
	    Pause 100
	    HSerout ["AT+CMGD=",#TMP1,13]   '_CANCELLA TUTTI GLI SMS
    	HSerin 2000,NORESP,[WAIT ("OK")]
    NEXT TMP1
        LCDOUT $FE,$C0
        LCDOUT,"SMS CANC"
        Pause 1000
GOTO MAIN    
noresp:                           
 RETURN

Ultima Modifica di zenite : 04-01-2010 18.18.55.
zenite Non in Linea   Rispondi Citando