AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SMS Senden über AT-Kommandos

Ein Thema von Gehstock · begonnen am 15. Jul 2007 · letzter Beitrag vom 17. Jul 2007
 
Gehstock

Registriert seit: 28. Jan 2006
Ort: Görlitz / Sachsen
489 Beiträge
 
Delphi 2007 Professional
 
#1

SMS Senden über AT-Kommandos

  Alt 15. Jul 2007, 22:24
arbeite wieder mal an meinen AT Commander projekt (Handyverwaltung über AT Kommandos) und hab Probleme beim senden von SMS

Delphi-Quellcode:
procedure TForm1.SendSMSClick(Sender: TObject);
begin
s := 'AT+CMGS=' + inttostr(Length(Edit8.Text) div 2-1); //PDU Länge senden
SendCMD2;
Memo5.Lines.Add(Result1);
s := Edit8.Text+ #$1A; // enthält PDU
SendCMD2;
Memo5.Lines.Add(Result1);
end;
Das Log vom PortMon sieht so aus
Zitat:
Mein Programm
194 0.00100404 ATcommander.exe IRP_MJ_WRITE Serial2 SUCCESS Length 12: AT+CMGS=26..
195 0.07969588 ATcommander.exe IRP_MJ_READ Serial2 TIMEOUT Length 4: ..>
196 0.00077887 ATcommander.exe IRP_MJ_WRITE Serial2 SUCCESS Length 57: 0001000B911027436739F900000ED4F29C0EA296E77410B53C A703...
197 4.07700755 ATcommander.exe IRP_MJ_READ Serial2 TIMEOUT Length 20: ..+CMGS: 218....OK..


Funktionierendes Programm
179 0.00072216 PDUspy.exe IRP_MJ_WRITE Serial2 SUCCESS Length 11: at+cmgs=26.
182 0.00000335 PDUspy.exe IRP_MJ_READ Serial2 SUCCESS Length 4: ..>
187 0.00112249 PDUspy.exe IRP_MJ_WRITE Serial2 SUCCESS Length 55: 0001000B811027436739F900000ED4F29C0EA296E77410B53C A703.
253 0.00000335 PDUspy.exe IRP_MJ_READ Serial2 SUCCESS Length 20: ..+CMGS: 215....OK..
Hab da TimeOuts aber alle anderen sachen am Gerät kann ich fehlerfrei Lesen und Schreiben


Ankommen tut aber nix


Comport

Delphi-Quellcode:
function TForm1.SetupCOMPort: Boolean;
const RxBufferSize = 8192;
  TxBufferSize = 8192;
var DCB: TDCB;
  Config: string;
  CommTimeouts: TCommTimeouts;
begin
  Result := True;
  if not SetupComm(ComFile, RxBufferSize, TxBufferSize) then
    Result := False;
  if not GetCommState(ComFile, DCB) then
    Result := False;

  Config := 'baud=' + (iComBaud) + ' parity=n data=8 stop=1';
  if not BuildCommDCB(@Config[1], DCB) then
    Result := False;
  if not SetCommState(ComFile, DCB) then
    Result := False;
  with CommTimeouts do
    begin
    PurgeCom(PURGE_TXABORT or PURGE_RXABORT or PURGE_TXCLEAR or PURGE_RXCLEAR);
      ReadIntervalTimeout := 20;
      ReadTotalTimeoutMultiplier := 1;
      ReadTotalTimeoutConstant := 200;
      WriteTotalTimeoutMultiplier := 0;
      WriteTotalTimeoutConstant := 0;
      {ReadIntervalTimeout := 15;
      ReadTotalTimeoutMultiplier := 0;
      ReadTotalTimeoutConstant := 1000;
      WriteTotalTimeoutMultiplier := 0;
      WriteTotalTimeoutConstant := 1000; }

       end;

  if not SetCommTimeouts(ComFile, CommTimeouts) then Result := False;
  PurgeCom(PURGE_TXABORT or PURGE_RXABORT or PURGE_TXCLEAR or PURGE_RXCLEAR);
end;

function TForm1.PurgeCom(mode:Dword): boolean; //function
begin
 result := PurgeComm(ComFile,mode);
end;

Portmon Log

Zitat:

Fremdanwendung


56 0.05360402 PDUspy.exe IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 115200
57 0.00276711 PDUspy.exe IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS
58 0.00295568 PDUspy.exe IOCTL_SERIAL_SET_DTR Serial2 SUCCESS
59 0.00000196 PDUspy.exe IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8
60 0.00000168 PDUspy.exe IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:0 ERR:0 BRK:0 EVT:0 XON:11 XOFF:13
61 0.02095518 PDUspy.exe IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:0 XonLimit:2048 XoffLimit:2048
62 0.00000447 PDUspy.exe IOCTL_SERIAL_PURGE Serial2 SUCCESS Purge: TXABORT RXABORT TXCLEAR RXCLEAR
63 0.00000475 PDUspy.exe IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 8192 OutSize: 8192
64 0.00000140 PDUspy.exe IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0
67 0.00000279 PDUspy.exe IOCTL_SERIAL_PURGE Serial2 SUCCESS Purge: TXABORT RXABORT TXCLEAR RXCLEAR




Meine

146 0.00000670 ATcommander.exe IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 8192 OutSize: 8192
147 0.00000140 ATcommander.exe IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS
148 0.00000140 ATcommander.exe IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS
149 0.00000140 ATcommander.exe IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS
150 0.00000140 ATcommander.exe IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS
151 0.00000140 ATcommander.exe IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS
152 0.00000140 ATcommander.exe IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS
153 0.00000140 ATcommander.exe IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS
154 0.00000112 ATcommander.exe IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS
155 0.05347635 ATcommander.exe IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 115200
156 0.00339345 ATcommander.exe IOCTL_SERIAL_SET_RTS Serial2 SUCCESS
157 0.00219693 ATcommander.exe IOCTL_SERIAL_SET_DTR Serial2 SUCCESS
158 0.00000168 ATcommander.exe IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8
159 0.00000251 ATcommander.exe IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:0 ERR:0 BRK:0 EVT:0 XON:11 XOFF:13
160 0.00695591 ATcommander.exe IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:1 Replace:40 XonLimit:4096 XoffLimit:1024
161 0.00000307 ATcommander.exe IOCTL_SERIAL_PURGE Serial2 SUCCESS Purge: TXABORT RXABORT TXCLEAR RXCLEAR
162 0.00000140 ATcommander.exe IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:20 RM:1 RC:200 WM:0 WC:0
163 0.00000112 ATcommander.exe IOCTL_SERIAL_PURGE Serial2 SUCCESS Purge: TXABORT RXABORT TXCLEAR RXCLEAR
Marcel
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz