Chào các bạn.
Mình đang làm 1 ứng dụng kết nối tới usb 3G để đọc tin nhắn và xử lý các lệnh USSD nhưng gặp vấn đề :
Chương trình không nhận dc các response từ usb mặc dù mình đã test với hyper terminal hoặc SecureCRT đều OK.
http://www.youtube.com/watch?v=Xq2R4HGIkek
Đây là ch trình của mình.
Code:
SerialPort ****** = new SerialPort();
private void Index_Load(object sender , EventArgs e)
{
GetAllPort(); // <= Tìm các c?ng COM k?t n?i t?i máy tính.
******.DataReceived += new SerialDataReceivedEventHandler(******_DataReceived);
}
Code:
private void but_Connect_Click(object sender , EventArgs e)
{
if (!******.IsOpen)
{
s_selectedPort = new Regex("COM\\d+").Match(cbo_devices.Text).Value;
******.PortName = s_selectedPort;
******.BaudRate = int.Parse(cboBaudRate.SelectedItem.ToString());
******.DtrEnable = true;
******.RtsEnable = true;
******.Handshake = Handshake.RequestToSend;
******.NewLine = Environment.NewLine;
******.StopBits = StopBits.One;
******.Parity = Parity.None;
******.DataBits = 8;
try
{
******.Open();
but_Connect.Text = "Disconect";
}
catch (Exception ex)
{
but_Connect.Text = "Connect";
MessageBox.Show(ex.Message);
}
}
else
{
try
{
but_Connect.Text = "Connect";
******.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
Code:
private void ******_DataReceived(object sender,SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string s_ = sp.ReadExisting();
MatchCollection matches = (new Regex("\\^RSSI:\\d+")).Matches(s_);
MatchCollection matches2 = (new Regex("\\^BOOT:\\d+")).Matches(s_);
//if (matches.Count < 1 && matches2.Count < 1)
{
AppendText(richTextBox1 , s_);
}
//MessageBox.Show(s_);
}
Code:
private void but_send_Click(object sender , EventArgs e)
{
if (******.IsOpen)
{
******.Write(txt_command.Text);
}
}
Các bạn xem giúp mình tại sao mình không nhận dc response OK hay bất kể 1 response nào khác như ở trong Secure CRT
Bookmarks