Я обновляю этот вопрос и знаю, что он работает правильно..
Я пытаюсь проверить баланс в моем модеме mavecom, но я не получаю ответа в своем текстовом поле. Он остается пустым.
Вот мой код:
private SerialPort _port;
private void simpleButton1_Click(object sender, EventArgs e)
{
_port = new SerialPort();
_port.PortName = cbPort.Text;
_port.BaudRate = 115200;
_port.Parity = Parity.None;
_port.DataBits = 8;
_port.StopBits = StopBits.One;
_port.Handshake = Handshake.RequestToSend;
port.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
port.Open();
port.Write("AT+CUSD=1,\"" + txtUSSD.Text + "\",15" + "\r");
}
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
try
{
// read the response.
var response = ((SerialPort)sender).ReadLine();
// Need to update the txtProvider on the UI thread .
//showing result in txtOutput based on txtProvider USSD Command
this.Invoke(new Action(() => txtOutput.Text = response));
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Это решено и может быть использовано для проверки баланса....
DataReceived
перед открытием последовательного порта. - person Niels Filter   schedule 28.07.2015