ايران ويج

نسخه‌ی کامل: مشكل برقراري ارتباط سريال در c#
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام به همگي.

يه سري اطلاعات رو از طريق پروتكل RS232 بايستي به كامپيوتر ارسال كنم.
محيطي با C# درست كردم كه بايد اون اطلاعات رو بگيره و در textBox نشان بدهه.( به صورت آزمايشي )
مشكل اينجاست كه وقتي پورت رو باز مي كنم و اطلاعات مي يان يه error اي مي ده كه نمي دونم از چيه و چطور بايد رفعش كنم.
هيچ كدوم از اطلاعات رو نمي تونم دريافت كنم ...

برنامه رو پيوست كردم.
عكس اون error هم در پيوست گذاشتم.

كسي تا حالا از اين كارا كرده و جواب گرفته ؟

يا علي.
مشکل به خاطر اینه که ترد اصلی برنامه با تردی که پورت سزیال رو میخونه از هم جداست یعنی هر کدام وظیفه خودشونو انجام میدند
با روش زیر مشکلت حل میشه
private void yourfunction(object s, EventArgs e)
کد:
{
           // کد های مورد نظرتو اینجا بنویس
            
        }
        private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)// Event for receiving data
        {
            this.Invoke(new EventHandler(yourfunction));
        }

مشکل به خاطر اینه که ترد اصلی برنامه با تردی که پورت سزیال رو میخونه از هم جداست یعنی هر کدام وظیفه خودشونو انجام میدند
با روش زیر مشکلت حل میشه

کد:
private void yourfunction(object s, EventArgs e)
        {
           // کد های مورد نظرتو اینجا بنویس
            
        }
        private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)// Event for receiving data
        {
            this.Invoke(new EventHandler(yourfunction));
        }







سلام بر دوست عزيز ...

تشكر ويژهه ...
واقعا ممنونم ، فكر نمي كردم راه بيفته ...
الان داره خوب جواب مي دهه ...

دوست عزيز چندتا سؤال داشتم ، ممنون مي شم راهنماييم كنيد ...

اين Invoke چي هست و كارش چيه و اين theard ها چي هستن ؟!
الان ما كار دريافت رو انجام داديم ، آيا براي ارسال هم از اين نكته ها ي ريز وجود دارهه ؟

اگر بخوام به بخش اين ارتباطات مسلط بشم ، چي رو بايد بخونم ( منبعي ، لينكي. )
چون من C# رو در حد كمي بلدم و اين بخشش برام خيلي مهمه ...

بازم ممنون از لطفتون.

موفق باشي.
يا علي.