Bonjour tout le monde,
j'utilise un modem gsm pour envoyer les sms.
Je dois envoyer l'ensemble des message contenu dans ma MSFlexGrid(2 colonnes : Numéro et message).
Je dois faire une boucle..
j'ai fais une fonction send_sms :
Voilà le bouton envoyer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Private Function send_sms(num, body) ModemGSM.InBufferCount = 0 'vider le buffer du modem Text2.text = "" 'Text2 contient les réponse du modem ModemGSM.Output = "AT" & Chr$(13) PauseGetTickCount (1000) 'permet d'attendre 1s(le temp pour que le modme répond) ModemGSM.Output = "AT+CMGF=1" & Chr$(13) 'Format text PauseGetTickCount (1000) ModemGSM.Output = "AT+CMGS=" & Chr$(34) & num & Chr$(34) & Chr$(13) 'Numéro destinataire PauseGetTickCount (1000) ModemGSM.Output = body + Chr$(26) 'Message + (CTRL+Z) PauseGetTickCount (4000) 'Attente 4s(Estimation) End Function
voilà comment je récupère les réponses du modem :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Private Sub Envoyer_Click() 'nombre de lignes de la grille : lignes = grille.Rows - 1 ModemGSM.Output = "AT+CFUN=1" & Chr(13) 'selects the level of functionality(1=Full functionality) PauseGetTickCount (150) ModemGSM.Output = "AT+CMEE=2" & Chr(13) 'Format des erreurs(2=text) PauseGetTickCount (150) For CRow = 1 To lignes Call send_sms(grille.TextMatrix(CRow, 0), grille.TextMatrix(CRow, 1)) Next CRow End Sub
quand je teste avec les même commandes AT dans l'hyperTerminal de windows ça marche impécable, le message s'envoi sans problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub Timer1_Timer() 'interval = 100 If ModemGSM.InBufferCount <> 0 Then Text2.text = Text2.text + ModemGSM.Input 'Récupération des infos de communication avec le modem End If End Sub
Mais avec mon programme, le modem renvoi l'erreur suivante :
Si qq1 pourra m'aider j'en serai vraiment très reconnaissant...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 AT OK AT+CMGF=1 OK AT+CMGS="067******" > Mon message! +CMS ERROR: SIM busy 'Voilà ce que je comprend pas!!!!! pourquoi busy???occupée?? par quoi???
Merci.
Partager