اطلاعیه

Collapse
No announcement yet.

هنگ کردن یکباره برنامه وقت اجرا ؟ (ارتباط سریال)

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    هنگ کردن یکباره برنامه وقت اجرا ؟ (ارتباط سریال)

    سلام.
    من با ماژول pl2303 دیتا رو به سمت لب ویو می فرستم با باودریت 230400. مشکلی تو خود ارتباط ندارم دیتا درست میاد و همه چی درست پیش میره اما بعد از حدود 10 ثانیه (بعضی وقتا سر 3 ثانیه بعضی وقتا هم سر 1 دقیقه) برنامه دیگه کاری نمی کنه ! یعنی همه چی معلق میشه ، حتی وقتی دکمه stop رو هم میزنم برنامه متوقف نمیشه، تا اینکه ماژول pl2303 رو که در میارم و برنامه متوقف میشه ( دکمه stop کار میکنه). بعدش هم دیگه ارتباط برقرار نمیشه تا اینکه یک بار لب ویو رو ببندم و دوباره باز کنم و دوباره همه چی از نو شروع میشه. بعضی وقتا هم یکهو سیستم قاط میزنه و خاموش میشه و صفحه آبی رنگ معروف میاد.
    جالبه که این مشکلات تو ترمینال کدویژن یا هایپرترمینال اتفاق نمی افته و فقط داخل لب ویو هستش.
    اینم کد قسمت لب ویو هستش : من هر بار 15 بایت دیتا رو پشت سر هم با باودریت 230400 می فرستم.
    ---------
    .
    .
    ...........

    #2
    پاسخ : هنگ کردن یکباره برنامه وقت اجرا ؟ (ارتباط سریال)

    از close visa بعد حلقه استفاده کن

    دیدگاه


      #3
      پاسخ : هنگ کردن یکباره برنامه وقت اجرا ؟ (ارتباط سریال)

      شاید! میزان تاخیر نسبت به بافر سریال و میزان ارسال داده زیاده و بافر پر میشه و ...
      در هر صورت برای پکت ارسالی هدر و فوتر بذارید و سعی کنید قبل از فول شدن بافر سریال اونو خالی کنید

      دیدگاه


        #4
        پاسخ : هنگ کردن یکباره برنامه وقت اجرا ؟ (ارتباط سریال)

        مرسی از دوستان.
        نوشته اصلی توسط بنیامین 20
        از close visa بعد حلقه استفاده کن
        با اون بلوک هم تفاوتی نداشت و همین آش و همین کاسه بود !
        نوشته اصلی توسط mojalan
        شاید! میزان تاخیر نسبت به بافر سریال و میزان ارسال داده زیاده و بافر پر میشه و ...
        در هر صورت برای پکت ارسالی هدر و فوتر بذارید و سعی کنید قبل از فول شدن بافر سریال اونو خالی کنید
        منظورت از هدر و فوتر اینه که اول و آخر دیتام یک عدد بزارم واسه محکم کاری ؟ یعنی یک جور پروتکل درست کنم ؟
        این بافر سریال تو لب ویو چقدره که اینقدر زود پر میشه ؟ چطور میشه به این بافر دسترسی پیدا کرد و اونو قبل از هر ارسال پاکش کرد ؟ اون تاخیر نسبت به بافر سرایل قضیه اش چیه ؟
        ---------
        .
        .
        ...........

        دیدگاه


          #5
          پاسخ : هنگ کردن یکباره برنامه وقت اجرا ؟ (ارتباط سریال)

          با سلام
          کابل ارتباطی باید حلقه فریت داشته باشه و شیلد دار باشه وگرنه به مشکل میخوری
          mrg

          دیدگاه


            #6
            پاسخ : هنگ کردن یکباره برنامه وقت اجرا ؟ (ارتباط سریال)

            نوشته اصلی توسط mrgmrg
            با سلام
            کابل ارتباطی باید حلقه فریت داشته باشه و شیلد دار باشه وگرنه به مشکل میخوری
            ارتباط برقرار میشه ، یعنی با ترینال کدویژن مشکلی پیش نمیاد ولی با لب ویو هنگ میکنه.
            ---------
            .
            .
            ...........

            دیدگاه


              #7
              پاسخ : هنگ کردن یکباره برنامه وقت اجرا ؟ (ارتباط سریال)

              نوشته اصلی توسط ajapyy
              منظورت از هدر و فوتر اینه که اول و آخر دیتام یک عدد بزارم واسه محکم کاری ؟ یعنی یک جور پروتکل درست کنم ؟
              این بافر سریال تو لب ویو چقدره که اینقدر زود پر میشه ؟ چطور میشه به این بافر دسترسی پیدا کرد و اونو قبل از هر ارسال پاکش کرد ؟ اون تاخیر نسبت به بافر سرایل قضیه اش چیه ؟
              1- بله
              2- پیش فرض فکر میکنم 1024 بایته و شما نباید بذاری داده هایی که میرسه بیشتر از این بشه
              3-شما میتونی اندازه بافر رو زیاد کنی (الان لب ویو ندارم) با یکی از توابع و میتونی با تابع flushآ‌ بافر رو هر وقت خواستی خالی کنی

              دیدگاه


                #8
                پاسخ : هنگ کردن یکباره برنامه وقت اجرا ؟ (ارتباط سریال)

                1. دیتا اشتباه نمیره به نظرم چون مدت کوتاهی من همون چیزی که باید ببینم رو می بینم. برای همین نیاز به پروتکل نیست.
                2. من هر بار 15 بایت می فرستم، چطور ممکنه تو هر ارسال بافر پر بشه ؟ اگر هم بافر هر بار پاک نمیشه و دیتای قبلی میاد روی جدیده، با این حساب با 68 بار ارتباط دیگه بافر پر میشه و باید ارور بده اما اصلا این طور نیست. یعنی نه اروری میاد و نه چیزی فقط لب ویو هنگ میکنه و هیچ کدوم از المان های فرونت پنل کار نمی کنه تا زمانی که من ماژول pl2303 رو از usb بکشم بیرون.
                3. من دیتام رو دارم پشت سر هم ارسال می کنم. یعنی ممکنه 5 دقیقه بفرستم یا کمتر یا بیشتر برای همین نمی تونم یک ظرفیت بافر حاسب کنم. مگر اینکه هر بار خالیش کنم. منظورتون از این بلوک flash همون بلوک flush هست ؟ کجای ارتباط سریال باید بزارم ؟
                ممنون.
                ---------
                .
                .
                ...........

                دیدگاه


                  #9
                  پاسخ : هنگ کردن یکباره برنامه وقت اجرا ؟ (ارتباط سریال)

                  بله اصلاح شد flush
                  هر جاییکه فکر کردین به داده های (احتمالی)باقی مانده در بافر نیاز ندارین

                  دیدگاه


                    #10
                    پاسخ : هنگ کردن یکباره برنامه وقت اجرا ؟ (ارتباط سریال)

                    الان من کمی گیج شدم. من هر بار که ارسال می کنم دیتای قبلی از بافر بلوک read پاک میشه ؟ چون من دیتا رو فقط تو همون لحظه که میاد نیاز دارم و بس.
                    ---------
                    .
                    .
                    ...........

                    دیدگاه

                    لطفا صبر کنید...
                    X