Έχει ασχοληθεί κανείς?
Έχω πρόβλημα. Μπορώ και στέλνω κανονικά εντολές ΑΤ, αλλά απάντηση παίρνω echo της εντολής...
Χρησιμοποιώ ένα Τ500ι, συνδεδεμένο στο PC μου μέσω usb irda adaptor, και χρησιμοποιώντας το ircomm2k (www.ircomm2k.de) για να φτιάξω το virtual com port.
Ο κώδικας που χρησιμοποιώ είναι ο παρακάτω...
Ξέρω ξέρω το loop πρέπει να αντικατασταθεί από event handler...To έχω έτσι μόνο για testing...
<FONT size=2>
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO.Ports;
public partial class Communication_Sms : System.Web.UI.Page
{
SerialPort s;
protected void Page_Load(object sender, EventArgs e)
{
s = new SerialPort("COM4", 9600, Parity.None, 8, StopBits.One);
s.NewLine = "\n";
s.DtrEnable = true;
s.Encoding = System.Text.Encoding.Default;
s.Handshake = Handshake.RequestToSendXOnXOff;
s.RtsEnable = true;
//s.Handshake = Handshake.RequestToSend;
//s.DataReceived += new SerialDataReceivedEventHandler(s_DataReceived);
}
protected void smsSend_Click(object sender, EventArgs e)
{
}
protected void Button2_Click(object sender, EventArgs e)
{
}
protected void send_Click(object sender, EventArgs e)
{
String t = "";
s.Open();
//s.BreakState = true;
t += s.BreakState.ToString();
s.WriteLine( "ATI");
t += s.CDHolding;
t += s.CtsHolding;
bool i = true;
while (i)
{
//t += s.CDHolding;
//t += s.CtsHolding;
string a = s.ReadExisting();
if (a.Length > 0)
{
t += a;
i = false;
}
}
t += s.ReadBufferSize.ToString();
phoneStatus.Text = t;
//
t += s.CDHolding;
t += s.CtsHolding;
s.Close();
}
private void s_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
// Show all the incoming data in the port's buffer
phoneStatus.Text = s.ReadExisting();
}
protected void refresh_Click(object sender, EventArgs e)
{
}
}</FONT>
Simple Photography