[C#] hoe antwoord van een AT command ontvangen?

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Goedemorgen,

Ik heb een klein vraagje. Ik heb in een asp.net webpagina een stukje code geschreven in C# waarmee ik een sms kan versturen via een gsm modem wat aan de COM1 poort zit aangesloten. Alles werkt prima ik zou alleen bij een bepaald commando het antwoord willen zien.

Dit is wat ik heb:
code:
1
2
3
4
System.IO.Ports.SerialPort SerialPort1 = new System.IO.Ports.SerialPort("COM1", 9600, Parity.None, 8);
SerialPort1.Open();
SerialPort1.Write("AT" + b + a);
SerialPort1.Write("AT+CPIN?" + b + a);


Ik heb de stukjes waarmee hij de sms stuurt er even uitgehaald maar wat ik graag wil ik als ik het command AT+CPIN? doet dan geeft hij een READY terug als ik geen pincode meer hoef in te vullen en ik krijg SIM PIN als ik een pincode moet invullen.

Hoe kan ik na: SerialPort1.Write("AT+CPIN?" + b + a); een check inbouwen in C# waarmee hij kijkt wat het antwoord is en daarmee het script vervolgen door wel of niet een pincode mee te geven?

Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Laatst online: 19-09 21:26

DataGhost

iPL dev

code:
1
2
3
4
5
6
SerialPort1.read(a);
if a == "ready" {
  doe_je_ding();
} else {
  faal_hard();
}

?

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Gewoon de input lezen en "wachten" tot je de gewenste tekenreeks tegenkomt? Veel moeilijker dan dat is het echt niet, het werkt ongeveer hetzelfde als met normale input vanaf het toetsenbord :)

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Wat heb je zelf allemaal al geprobeerd? Want je weet blijkbaar wel dat SerialPort een Write methode heeft, dan was het toch ook niet zo moeilijk om in de documentatie te vinden dat er ook een Read ( http://msdn.microsoft.com...orts.serialport.read.aspx ) functie is.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • ThaStealth
  • Registratie: Oktober 2004
  • Laatst online: 16:02
Het kan zelfs nog mooier dan te pollen of er data binnen komt, gebruik bijvoorbeeld het SerialPort.DataRecieved event en er wordt een event geraised op het moment dat je data binnen krijgt (http://msdn.microsoft.com...ialport.datareceived.aspx).

Mess with the best, die like the rest