Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    33

    [C#] Problema con comandi AT

    Ciao a tutti,

    ho la seguente necessità:
    Ho una applicazione in c# che legge i messaggi di una SIM attraverso i comandi AT.

    La chiavetta che finora ho utilizzato è uscita fuori produzione.

    Ho comprato la vodafone key per sostituirla, ma ho una serie di problemi per comunicare via "codice" con la chiavetta stessa.

    Praticamente quando avvio il mio programma, ed invio i comandi (tipo AT o AT+qualcosa) il risultato che ottengo in lettura è SEMPRE una stringa vuota. Ho notato poi che se apro poi l'Hyperterminal e mi collego sulla chiavetta i comandi precedentemente inviati sono riportati, con tanto di risposta sulla finestra dell'Hyperterminal!!!

    Qualche aiuto, consiglio, ACCETTO QUALSIASI COSA

    Grazie.

  2. #2

    Re: [C#] Problema con comandi AT

    Originariamente inviato da cathello
    Ciao a tutti,

    ho la seguente necessità:
    Ho una applicazione in c# che legge i messaggi di una SIM attraverso i comandi AT.

    La chiavetta che finora ho utilizzato è uscita fuori produzione.

    Ho comprato la vodafone key per sostituirla, ma ho una serie di problemi per comunicare via "codice" con la chiavetta stessa.

    Praticamente quando avvio il mio programma, ed invio i comandi (tipo AT o AT+qualcosa) il risultato che ottengo in lettura è SEMPRE una stringa vuota. Ho notato poi che se apro poi l'Hyperterminal e mi collego sulla chiavetta i comandi precedentemente inviati sono riportati, con tanto di risposta sulla finestra dell'Hyperterminal!!!

    Qualche aiuto, consiglio, ACCETTO QUALSIASI COSA

    Grazie.
    ciao,
    hai controllato che la porta sia corretta nel tuo programma?
    magari se posti il codice che usi per leggere si potrebbe capire qualcosa.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    33
    La porta è corretta, perchè se apro via putty o via hyperterminal vedo i comandi che ho inviato da codice con tanto di risposta.

    Cmq ecco il codice:

    public void sendMessage(string comando)
    {
    try
    {
    //Se nel comando non ci sono i caratteri di "fine comando" li aggiungo.
    if (!comando.EndsWith("\r\n"))
    comando += "\r\n";
    //Svuoto il buffer
    portaSeriale.ReadExisting();
    //Scrivo il comando
    portaSeriale.Write(comando);
    }
    catch (Exception ex)
    {
    this.Testo = ex.Message;
    this.boxMessage.Invoke(new EventHandler(workerUpdate));
    }
    }

    Con questo invio i comandi alla porta (al modem in pratica)


    Con questo leggo il risultato eventuale:


    public String getResponse()
    {
    string result = "";
    Exception modemOut = new Exception("Modem scollegato");
    int l;
    if (portaSeriale.IsOpen)
    {
    result = portaSeriale.ReadExisting();
    }
    return (result);
    }

    Dove portaseriale è l'oggetto della porta.

    Grazie in anticipo.

  4. #4
    le proprietà della porta sono corrette per il nuovo modem?

    dando per scontato che il codice funzionava, il problema potrebbe essere sui comandi AT differenti, ma siccome i comandi li vedi eseguiti, li stessi non dovrebbero avere problemi, quindi mi sa che rimane solo problemi con la porta

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    33
    Cosa intendi per proprietà della porta?
    Velocità e bit rate?

  6. #6
    Originariamente inviato da cathello
    Cosa intendi per proprietà della porta?
    Velocità e bit rate?
    si

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    33
    Non so dirti con sicurezza, cmq provo a fare la prova con gli stessi parametri dell'hyperterminal...ma dubito che sia questo il problema

  8. #8
    come sincronizzi la lettura e la scrittura sulla porta?
    hai controllato se le risposte del modem combaciano con quelle che ti aspetti?
    hai già provato a lanciare un semplice AT?
    tu scrivi
    AT
    e il modem dovrebbe rispondere con un semplice
    OK

    oppure non è che devi inserire il pin?

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    33
    Allora, si il semplice comando AT lo faccio sempre per vedere se il modem risponde con OK.

    Uhm...per la sincronizzazione non faccio nulla in particolare...ovvero, invio il comando e metto uno sleep di 5,6 sec...ho provato anche ad aumentare il tempo ma niente il risultato è una stringa vuota

  10. #10
    ma ok lo restituisce il programma o l'hyperterminal?
    ma se metti uno sleep perdi un sacco di tempo...
    quando ho detto di scrivere AT intendevo nel programma.
    che comando stai usando per testarlo?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.