J'essaye de construire une application simple qui renvoie le numéro appelant par l'intermédiaire d'un modem, cependant je semble seulement obtenir la première ligne des données reçues du modem.Récepteur de numéro de téléphone C#
Quand je lance HyperTerminal et passer par AT # CID = 1 commande, appeler le numéro, je reçois une sortie pleine de:
OK
DATE = 0314
TIME = 1111
NMBR = 4936
NAME = Stuart E
RING
Dans mon application, je ne reçois que la première section contenant la partie "OK". Toute aide sur ce que je fais mal ou suis manquant?
code:
public partial class Form1 : Form
{
public SerialPort port = new SerialPort("COM3", 115200,Parity.None,8,StopBits.One);
public String sReadData = "";
public String sNumberRead = "";
public String sData = "AT#CID=1";
public Form1()
{
InitializeComponent();
}
private void btnRun_Click(object sender, EventArgs e)
{
SetModem();
ReadModem();
MessageBox.Show(sReadData);
}
public void SetModem()
{
if (port.IsOpen == false)
{
port.Open();
}
port.WriteLine(sData + System.Environment.NewLine);
port.BaudRate = iBaudRate;
port.DtrEnable = true;
port.RtsEnable = true;
}
public string ReadModem()
{
try
{
sReadData = port.ReadExisting().ToString();
return (sReadData);
}
catch (Exception ex)
{
String errorMessage;
errorMessage = "Error in Reading: ";
errorMessage = String.Concat(errorMessage, ex.Message);
errorMessage = String.Concat(errorMessage, " Line: ");
errorMessage = String.Concat(errorMessage, ex.Source);
MessageBox.Show(errorMessage, "Error");
return "";
}
}
private void btnExit_Click(object sender, EventArgs e)
{
port.Close();
Close();
}
}
}
ne sais pas si cela est le problème, mais sur msdn, 'readexisting' semble renvoyer une chaîne de toute façon donc je ne sais combien la' .toString() 'est nécessaire – Sayse
Quels sont les paramètres que vous utilisez dans le terminal Hyper? Assurez-vous d'utiliser la même chose dans votre application. – ellak
Vous pouvez jeter un oeil à ma question http://stackoverflow.com/questions/5897916/callerid-detection-doesnt-work-with-some-phones – Marshal