J'essaie d'exécuter une commande USSD en utilisant un modem GSM.Exécution d'une commande USSD sur un modem GSM (mauvais encodage peut-être)
AT+CUSD=1,"*200#",15
et le résultat que je reçois est illisible
"+ CUSD: 0," Æ · ÜNÓu9XŽt¤å1: - u0Œtši7è, Óëizy®ƒ5ÓnÔL »Ai7½, w ‡ éé ·; Ì.ÏAòòœvÓËsÖL » », 15"
lorsque je tente le même code USSD sur le téléphone mobile en utilisant la même sim j'obtenir un résultat correct qui est
"Forfait: 909DA. Recharchege: 0.0DA Min gratuit: 0Min. Min Restantes: 0min internationales »
changeant le jeu de caractères AT + CSCS du GSM à l'IRA ou PCCP, PCDN, 8859-1 ne marche pas changer la réponse est la même réponse exactement
et le changement AT + CSCS à six pans me donne une erreur:
AT+CSCS="HEX"
AT+CUSD=1,"*200#",15
OK
+CUSD: 2,"Unexpected Data Value",15
+CUSD: 2,"Unexpected Data Value",15
ERROR
et changer à UCS2 et d'appeler la USSD faire mon redémarrage du modem
AT+CSCS="UCS2"
AT+CUSD=1,"*200#",15
Les deux erreurs de valeur de données inattendues sont pour le '*' et ' # 'car ils ne sont pas des caractères hexadécimaux. Lorsque vous modifiez le codage de caractères avec AT + CSCS, il s'applique à ** toutes ** les chaînes suivantes, comme je l'ai mentionné dans ma réponse. Voir [cette réponse] (http://stackoverflow.com/a/18672278/23118) pour un exemple de réglage UTF-8 avec codage UCS2 actif.La même erreur s'applique dans le second cas avec UCS2, bien que le comportement du redémarrage ne soit pas aussi bon que l'impression d'un message d'erreur utile "Valeur de données inattendue". – hlovdal