Oppure

Loading
11/12/11 11:53
Cobra
Ciao a tutti ragazzi,
sto alle prese con i comandi AT del mio cellulare. Ho creato un piccolo programma dotato di una textbox dove inserire il numero da chiamare e tre pulsanti che rappresentano l'avvio, la risposta e la chiusura di una chiamata. Effettuando una chiamata attraverso il comando ATDT seguito dal numero desiderato, il cellulare avvia la chiamata e fin qui tutto ok solo che, se invio il comando ATH (ovvero per chiudere la conversazione), anche se ricevo l'ok dal cellulare (ho fatto una prova con hyperterminal e come risultato da OK), la conversazione continua e non riesco per nessun motivo a chiuderla. Ho provato anche con il comando ATZ ma nulla da fare, la chiamata continua senza arrestarsi :( vi posto il codice per essere quanto più chiaro possibile :)

 Private Sub Cellulare_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If SerialPort1.IsOpen Then
            SerialPort1.Close()
        End If

        Try
            With SerialPort1
                .PortName = "COM4"
                .BaudRate = 115200
                .Parity = IO.Ports.Parity.None
                .DataBits = 8
                .StopBits = IO.Ports.StopBits.One
            End With
            SerialPort1.Open()
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
end sub

Private Sub Chiama_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Chiama.Click
        SerialPort1.WriteLine("ATDT " & TextBox1.Text & ";" & """" & vbCrLf)
        SerialPort1.Write(Chr(26))
    End Sub

Private Sub Chiudi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Chiudi.Click
        SerialPort1.WriteLine("ATH" & vbCrLf)
        SerialPort1.Write(Chr(26))
    End Sub

Private Sub Rispondi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Rispondi.Click
        SerialPort1.WriteLine("ATA" & vbCrLf)
           End Sub


Per quanto riguarda i comandi AT vi posto questo link da cui ho preso spunto per creare il programma febat.com/Elettronica/…

Grazie a tutti in anticipo :k: :k: :k:
aaa
11/12/11 12:07
nessuno
Prova da hyperterminal prima di dare ATH a dare il comando

+++
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
11/12/11 12:44
Cobra
Postato originariamente da nessuno:

Prova da hyperterminal prima di dare ATH a dare il comando

+++


Ho provato a seguire il tuo consiglio, mi restituisce l'ok ma la chiamata non la chiude :-|
aaa
11/12/11 12:46
nessuno
Cioè usando

+++

dopo l'ok con

ATH

non chiude?
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
11/12/11 12:51
Cobra
Esatto, proprio così, ovvero, quando scrivo con hyperterminal succede questo:

+++

ATH

OK

questo che ho scritto e ciò che visualizzo, cioè scrivo +++, poi do invio, successivamente scrivo ATH, do invio ed ottengo l'OK ma la chiamata non la chiude. Ho provato anche a cambiare cellulare, ma fa sempre lo stesso "difetto" :(
Ultima modifica effettuata da Cobra 11/12/11 12:53
aaa
11/12/11 14:26
Cobra
Anche facendo il contrario riscontro sempre il medesimo problema, ovvero, se prima scrivo ATH (ricevo OK), poi invio +++, non succede nulla e la conversazione continua. Imperterrito ho continuato a scrivere prima +++ dando invio, poi ATH, ricevo OK ma la conversazione non si chiude. Ho provato con il comando ATZ, ma non fa nulla, come se non "digerisse" il fatto di chiudere la chiamata e "bypassasse" l'evento :om:
aaa
11/12/11 14:43
Cobra
Ragazzi tutto ok, potete chiudere, il comando da utilizzare era AT+CHUP, grazie comunque per l'aiuto, grandi ;)
aaa