[Delphi] Работа с COM Port

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Kandi, 30 Nov 2011.

  1. Kandi

    Kandi Member

    Joined:
    18 Nov 2009
    Messages:
    344
    Likes Received:
    17
    Reputations:
    0
    Добрый день всем, кто может подсказать как обработать ответ от моего COM Порта. Подключение проходит успешно например, что бы отправить смс нужно отправить несколько AT Команд:
    Code:
    // Как я понимаю это PIN-Code, если он нужен :)
    AT+CPIN=7256
    OK // Ответ от COM Port
    // Ставим телефон\модем в обычный режим Text (1 - text, 0 - pdu) - не уверен, но вроде бы оно
    AT+CMGF=1
    OK
    // Отправляем обычную SMS-ку в текст режиме
    AT+CMGS="+79101234567"
    >test,test,testCTRL+Z
    +CMGS 
    
    Ответы вместо OK или ERROR приходят в виде японских символов ((

    Как обработать ответ до читаемого вида, подскажите???
    IDE : Rad 2010

    Вот таким образом пишу в COM Port:
    Code:
    var
      BytesWritten: DWORD;
      s: string;
      d: array[1..1500] of Char;
      BytesRead: DWORD;
      i: Integer;
      Result: string;
    begin
      try
        // Берём команду из Edit
        s := EATCom.Text + #13;
        // Записываем в порт
        WriteFile(ComFile, s[1], Length(s), BytesWritten, nil);
        Result := '';
        if not ReadFile(ComFile, d, SizeOf(d), BytesRead, nil) then
          begin
            MessageDlg('Ошибка чтения!', mtError, [mbOK], 0);
            Exit;
          end;
        Result := '';
        // Читаем ответ
        for I:=0 to BytesRead do
          begin
            Result := Result + d[I];
          end;
        // Выводим
        MLog.Lines.Append('Команда: ' + S);
        MLog.Lines.Append('Ответ: ' + Result);
        EATCom.Clear;
        EATCom.SetFocus;
      finally
    
      end;
    end;
    
    ScreenShot:

    [​IMG]
     
    #1 Kandi, 30 Nov 2011
    Last edited: 30 Nov 2011
  2. DYUMON

    DYUMON New Member

    Joined:
    15 Sep 2010
    Messages:
    68
    Likes Received:
    2
    Reputations:
    0
    вот почитай http://habrahabr.ru/blogs/delphi/133085/#habracut
     
  3. Kandi

    Kandi Member

    Joined:
    18 Nov 2009
    Messages:
    344
    Likes Received:
    17
    Reputations:
    0
    Спасибо, статья хорошая, но почему ответ всё время приходит кривой какой-то...что за кодировка ответа?! :(