これは現在モデムにUSSDコードを送信しようとしているコードです。USSDコードのATコマンド
static void __display_data_balance(void) {
const STR* vodacomUSSD = "*111*502#";
const STR* mtnUSSD = "*141*1#";
const STR* cellcUSSD = "*101#";
const STR* telkomUSSD = "*188#";
const STR* virginMobileUSSD = "*101#";
USHORT state;
USHORT error = SSD_STATE_GOOD;
BOOL done = FALSE;
USHORT size = 0;
STR* ussdCommand = NULL;
BYTE length;
BYTE buffer[64];
for (state = 1; !error && !done; state++) {
printf("[__display_data_balance] state = %d\n", state);
printf("Buffer = %s\n", buffer);
switch (state) {
default:
error = SSD_STATE_CORRUPT;
break;
case 1:
//error = CTOS_GSMOpen(115200, TRUE);
break;
case 2:
error = CTOS_GSMQueryOperatorName(buffer, &length);
break;
case 3:
printf("[__display_data_balance] buffer = %s\n", buffer);
printf("[__display_data_balance] length = %d\n", length);
CTOS_LCDGTextOut(110, 210, buffer, d_LCD_FONT_12x24, FALSE);
if (strncmp("\"VodaCom-SA\"", buffer, length) == 0) {
ussdCommand = (STR*) vodacomUSSD;
} else if (strncmp("\"MTN-SA\"", buffer, length) == 0) {
ussdCommand = (STR*) mtnUSSD;
} else if (strncmp("\"Cellc-SA\"", buffer, length) == 0) {
ussdCommand = (STR*) cellcUSSD;
} else if (strncmp("\"Telkom-SA\"", buffer, length) == 0) {
ussdCommand = (STR*) telkomUSSD;
} else if (strncmp("\"VirginMobile-SA\"", buffer, length) == 0) {
ussdCommand = (STR*) virginMobileUSSD;
} else {
error = SSD_STATE_NOT_IMPLEMENTED;
}
if (ussdCommand) {
sprintf(buffer, "AT+CUSD=1,\"%s\",15\r", ussdCommand);
error = CTOS_GSMSendATCmd(buffer, strlen(buffer), 2000);
//USHORT CTOS_GSMSendATCmd(BYTE *baCmd, ULONG ulLen, ULONG ulTimeout);
}
break;
case 4:
size = sizeof (buffer);
error = CTOS_GSMRecvData(buffer, &size);
//USHORT CTOS_GSMRecvData (BYTE *baData, USHORT *pusLen);
break;
case 5:
printf("[__display_data_balance] buffer = %s\n", buffer);
printf("[__display_data_balance] length = %d\n", length);
CTOS_LCDGTextOut(40, 270, buffer, d_LCD_FONT_12x24, FALSE);
//error = CTOS_GSMClose();
break;
case 6:
done = TRUE;
break;
}
私はそれが私が間違っているの私はプログラミングにかなり新しいですしてくださいと、いくつかの援助をしてください希望が何であるかを知っていただきたいと思い
。
私は機能全体を追加しました。
問題は? – tilz0R
うわー!誰かがまだモデムを使用していますか? – SGeorgiades
@SGeorgiades電子機器へのワールドワイドなワイヤレス通信にGSMモデムの代わりに何を使用しますか?ピジョン投稿ですか? – Lundin