Io ho scritto un programma per gestire la connessione COM con i cellulari.
Prima di tutto bisogna verificare che effettivamente il componente che usi per la connessione alla porta COM stia funzionando correttamente.
Io uso il componente COMPORT, che puoi trovare a questo indirizzo "
http://comport.sf.net" e funziona perfettamente, per tanto ti spiego come ho utilizzato tale componente, spero possa aiutarti con il componente che usi tu.
Dichiaro l'oggetto COM:
var com:tcomport;
apro la connessione con la porta COM1 (non so su quale porta si trova collegato il cellulare)
com.Port:='COM1';
com.Open;
invio il comando di richiesta informazioni dalla periferica
com.WriteStr('ATI3'+#13#10);
sleep(100);
IMPORTANTE: I comandi inviati al cellulare devono terminare con i caratteri #13 e #10, ed è meglio mettere un comando di ritardo (sleep) per permettere al cellulare di elaborare la richiesta e di rispondere.
ora leggo il risultato
lista:=tstringlist.Create;
com.ReadStr(s,com.inputcount);
lista.Text:=s;
Lista è una variabile di tipo tstrings, s è una variabile stringa.
Uso questo metodo perchè il cellulare risponde con una stringa unica, che potrebbe contenere più rige, separate dai caratteri di ritorno a capo. Se vuoi leggere i risultati inviati dal cellulare, puoi guardare il contenuto delle stringhe Lista[0], Lista[1],....ecc e nella variabile Lista.count puoi sapere il numero di righe.
Se tutto è fatto bene, riceverai dal cellulare la sua sigla.
Ora dovrai cercarti i comandi AT per il tuo cellulare, anche se comunque sono comandi standard che valgono per la maggior parte dei cellulari.
PS: se non ricordo male, il comando ATI è il comando per avere informazioni, e deve essere seguito dal livello, quindi puoi usare ATI0, ATI1, ATI2, ATI3....