لدي كود لبرنامج hyperterminal using serial port لكنه يعمل ضمن بيئة ال console application . انا احاول عمل برنامج مماثل باستخدام ال forms ولكن هنالك مشاكل حيث انني غير قادر على حلها وهي متعلقة بالبيانات التي يتم قراءتها من المعبر التسلسلي . برنامج الذي يعمل ضمن بيئة ال consoleيؤدي الدور المطلوب منه بفعالية كما هو مرغوب ولكن اريد المساعدة في بناء windows application يوفي بنفس الغرض وهاكم ال coneole application source code
using System.IO;
using System.IO.Ports;
using System.Text;
class Program
{
static SerialPort ComPort;
static ASCIIEncoding ASCIIEncoder = new ASCIIEncoding();
public static void OnSerialDataReceived(
object sender, SerialDataReceivedEventArgs args)
{
string data = ComPort.ReadExisting();
Console.Write(data.Replace("\r", "\n"));
}
static void Main(string[] args)
{
string port = "COM1";
int baud = 9600;
if (args.Length >= 1)
{
port = args[0];
}
if (args.Length >= 2)
{
baud = int.Parse(args[1]);
}
InitializeComPort(port, baud);
string text;
do
{
text = Console.ReadLine();
ComPort.Write(text + '\r');
}
while (text.ToLower() != "q");
}
private static void InitializeComPort(string port, int baud)
{
ComPort = new SerialPort(port, baud);
// ComPort.PortName = port;
// ComPort.BaudRate = baud;
ComPort.Parity = Parity.None;
ComPort.StopBits = StopBits.One;
ComPort.DataBits = 8;
ComPort.Handshake = Handshake.None;
ComPort.DataReceived += OnSerialDataReceived;
ComPort.Open();
}
}