i have a program to read data from serial port
appsto port
R L S F 1 CR LF
port to apps
R L S F 1 CR LF
port to apps
L D S E 3 CR LF
READ data
port to apps
L D E D 5 CR LF
apps to port
R L E E 3 CR LF
port to apps
R L E E 3 CR LF
o/p in serial monitor
rec:- R L S F 1 CR LF
snd:- R L S F 1 CR LF
snd:- L D S E 3 CR LF
data didnt transfer to apps from microcontroller
snd:- L D E D 5 CR LF
rec:- R L E E 3 CR LF
snd:- R L E E 3 CR LF
What I have tried:
private: System::Void ReadBtn_Click(System::Object^ sender, System::EventArgs^ e)
{
if (serialPort1->IsOpen)
{
cli::array<System::Byte>^ dateS = gcnew cli::array<System::Byte> {0x52, 0x4C, 0x53, 0x46, 0x31, 0x0D, 0x0A};
serialPort1->Write(dateS, 0, dateS->Length);
cli::array<System::Byte>^ byts = gcnew cli::array<System::Byte>(dateS->Length);
serialPort1->Read(byts, 0, dateS->Length);
Thread::Sleep(10);
textBox2->Text = System::Text::UTF8Encoding::UTF8->GetString(byts);
textBox1->Text = "RLSF1";
if (textBox1.Text==textBox2.Text)
{
serialPort1->DataReceived += gcnew SerialDataReceivedEventHandler(port_OnReceiveData);
}
Console::Read();
}
}
private : static void port_OnReceiveData(Object^ sender,SerialDataReceivedEventArgs^ e)
{
SerialPort^ spL = (SerialPort^)sender;
String^ deta = spL->ReadExisting();
MessageBox::Show(deta);
cli::array<System::Byte>^ en = gcnew cli::array<System::Byte>{0x52, 0x4C, 0x45, 0x45, 0x33, 0x0D, 0x0A};
spL->Write(en, 0, en->Length);
cli::array<System::Byte>^ bys = gcnew cli::array<System::Byte>(en->Length);
spL->Read(bys, 0, en->Length);
spL->Close();
}