اطلاعیه

Collapse
No announcement yet.

ارسال یک کاراکتر با لب ویو به میکرو

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

    ارسال یک کاراکتر با لب ویو به میکرو

    سلام
    وقتی یه کاراکتر رو پورت سریال با استفاده از لب ویو میفرستم اون کاراکتر تو هایپر ترمینال چندین بار دریافت میشه مثل این که تابع ویزا رایت این عمل رو در یه لوپ انجام میده در حالی که من میخوام فقط یک بار بفرسته و بره به مرحله بعدی برنامه در صورتی که هی تکرار میکنه -کسی میدونه چطور میتونم فقط یک بار رایت چه کاراکتر و چه عدد انجام بشه ؟

    #2
    پاسخ : ارسال یک کاراکتر با لب ویو به میکرو

    یه عکس از برنامت بزار
    اینجوری از غیب که نمیشه راهنمایی کرد !

    دیدگاه


      #3
      پاسخ : ارسال یک کاراکتر با لب ویو به میکرو

      اینم لینک عکس

      http://upload.tehran98.com/upme/uploads/efeb2779e55738ec1.jpg

      بی زحمت یه نگاه بندازید الان دو سه روزه گیر اینم
      مثلا تو قسمت اول وقتی برنامه وارد حلقه میشه من تو هایپر ترمینال کاراکتر A رو شاید 1000 تا 2000 بار میبینم تایپ میشه
      مثل اینکه این کاراکتر تو حلقه داره رایت میشه به جای اینکه فقط یک بار تو هایپر ترمینال تایپ بشه -
      اونقدر این سند کردن کاراکتر A ادامه پیدا میکنه که همون فانکشن رایت اولی خطای تایم اوت بده و دیگه بعدش با خطا میره به قسمتهای بعدی

      دیدگاه


        #4
        پاسخ : ارسال یک کاراکتر با لب ویو به میکرو

        تو برنامه های بقیه هم دیدم که اون ارسال هی تکرار میشه تو هایپر ترمینال ولی نمیدونم چرا- اخرش هم خطای تایم اوت میده

        دیدگاه


          #5
          پاسخ : ارسال یک کاراکتر با لب ویو به میکرو

          کسی از دوستان نمیدونه چرا تابع رایت اونقدر کاراکتر مربوطه رو ارسال میکنه که خطلای تایم اوت بده؟ علتش چیه؟ چرا فقط یه بار ارسال نمیکنه؟

          دیدگاه


            #6
            پاسخ : ارسال یک کاراکتر با لب ویو به میکرو

            اگر توی لوپ گذاشته باشید، هر بار ارسال میشه !
            چیز عجیبی نیستش! برنامه ای هست که خودتون مینویسید
            اون تایم اوت هم واسه وقتیه که منتظر دریافت دیتا می مونه تا اگر از یک مدتی بیشتر شد برنامه قطع بشه! اگر برنامتون درست باشه اصلاً احتیاجی به اون نمیشه
            معمولاً با هیپیرترمینال زیاد منتظر می مونه و همچین اتفاقی رخ میده

            دیدگاه


              #7
              پاسخ : ارسال یک کاراکتر با لب ویو به میکرو

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




              ---
              http://public.fileup.ir/d/2158986/serial test.vi

              دیدگاه


                #8
                پاسخ : ارسال یک کاراکتر با لب ویو به میکرو

                با free vitual serial por دو تا پورت پل معرفی کنید و برنامه رو تست کنید بی زحمت

                دیدگاه


                  #9
                  پاسخ : ارسال یک کاراکتر با لب ویو به میکرو

                  من شرکت برنامه رو ندارم، خونهب رسم چک می کنم
                  در ضمن، واسه اجرا 2 تا دکمه هستش، یکی واسه اجرا و تکرار برنامه و اونیکی هم واسه یکبار اجرای برنامه
                  اگر توی برنامتون هیچ حلقه ای وجود نداشته باشه ، ببینید اینارو درست میزنید ؟

                  دیدگاه


                    #10
                    پاسخ : ارسال یک کاراکتر با لب ویو به میکرو

                    :smile:
                    تشکر فراوان - اون که بله برنامه رو فقط یه بار ران میکنم نه کانتینیوسلی
                    -
                    مشکل در کل اینه:
                    چرا تا زمانی که خطای تایم اوت نده تابع ارسال رو هی تکرار میکنه یعنی مثل اینکه بافر ارسال رو کامل پر میکنه
                    یا به یه نحو دیگه اینطوری میشه گفت چطوری میشه بافر ارسال رو خالی کرد و فقط یکبار ارسال کنه
                    ----
                    داخل مثالهای لب ویو سریال رو سرچ کنید و برنامه ی basic serial read and write رو اجرا کنید
                    ران کنید و در صورت امکان نتیجه رو بگید با همون نرم افزار تو هایپر ترمینال هم ببینید نتیجه رو بی زحمت

                    دیدگاه


                      #11
                      پاسخ : ارسال یک کاراکتر با لب ویو به میکرو

                      این برنامه ای که شما گذاشتید با اون برنامه ای که عکس گذاشتید فرق می کنه !
                      در ضمن، روی run که کلیک می کنم، بدون هیچ مشکلی و یک بار اجرا میشه.
                      اگر با تأخیر هم دیتا ارسال کنیم timeout میده که یک چیز عادیه !

                      دیدگاه


                        #12
                        پاسخ : ارسال یک کاراکتر با لب ویو به میکرو

                        یه تاپیک زدم که هرچی بلد بودم توش نوشتم
                        http://www.eca.ir/forum2/index.php?topic=84475.msg518443#msg518443
                        اینجار نگاه کنی مشکلت حل میشه

                        دیدگاه


                          #13
                          پاسخ : ارسال یک کاراکتر با لب ویو به میکرو

                          گفتم که این به برنامه ی نمونه است - من فقط میخوام علت و نتیجه رو بدونم -
                          شما تو برنامه یه بار ران کنید و یه متنی رو وارد کنید بعد استپ کنید و دوباره ران کنید و یه متن جدید وارد کنید -حالا متنی که نشون داده میشه همون متن قبلیه یا متن جدیده؟ تعداد کاراکتر ها رو هم با اون کنترلر کناری تعیین کنید-مثلا 2 یا 3 بذارید

                          دیدگاه


                            #14
                            پاسخ : ارسال یک کاراکتر با لب ویو به میکرو


                            تاپیکیکه لینک دادم کامل توضیح دادم که چیکارا باید بکنید، با یک نگاه میشه فهمید ایراد چیه ، توضیح اضافه ای نمی بینم که جا مونده باشه
                            حالا شما حوصله خوندن تاپیک رو نداری یا اینکه می خواین چیز دیگه ای کشف کنید ! دیگه با خودتونه
                            موفق باشید

                            دیدگاه


                              #15
                              پاسخ : ارسال یک کاراکتر با لب ویو به میکرو

                              جواب این سوال کشف نشد؟؟؟منم همین مشکل رو دارم
                              یک کلید On/off می خوام با لب ویو بسازم که با پورت usb به میکرو وصل شه ولی 1 یا 0 رو مدام ارسال می کنه،می خوام فقط یکبار ارسال کنه،کسی راه حلی نداره؟؟ :angry:

                              دیدگاه

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