اطلاعیه

Collapse
No announcement yet.

ارسال و دریافت حجم زیاد اطلاعات از پورت سریال

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

    #16
    پاسخ : ارسال و دریافت حجم زیاد اطلاعات از پورت سریال

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

    ما می تونیم زمانی که برنامهرفت توی وقفه و منتظر خوندن اطلاعات بشه . ( یک شرط بعد از دستور خواندن اطلاعات داریم که اگر از دستور خواندن اطلاعات عبور کنیم اونو یک می کنیم و اگر نه صفر می مونه ) همزمان یه تایمری رو فعال کنیم کار این تایمر این هست که بعد از مدت زمان مشخصی که براش تنظیم کردیم بیاد و یه شرطمون رو چک کنه و اگر شرط 1 بود هیچ اگر صفر بود ( یعنی هنوز هیچ اطلاعاتی به پورت نرسیده ) بیاد و وقفه رو کنسل کنه و بره سراغ ادامه برنامه .

    گفتنش راحت بود ولی در عمل نمی دونم میشه یا نه ؟ دوستان لطفا راهنمایی کنن .
    - به دنبال فرصت عمری تباه کردم ! فرصت جوانی ام بود من اشتباه کردم .

    دیدگاه


      #17
      پاسخ : ارسال و دریافت حجم زیاد اطلاعات از پورت سریال

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

      ما می تونیم زمانی که برنامهرفت توی وقفه و منتظر خوندن اطلاعات بشه . ( یک شرط بعد از دستور خواندن اطلاعات داریم که اگر از دستور خواندن اطلاعات عبور کنیم اونو یک می کنیم و اگر نه صفر می مونه ) همزمان یه تایمری رو فعال کنیم کار این تایمر این هست که بعد از مدت زمان مشخصی که براش تنظیم کردیم بیاد و یه شرطمون رو چک کنه و اگر شرط 1 بود هیچ اگر صفر بود ( یعنی هنوز هیچ اطلاعاتی به پورت نرسیده ) بیاد و وقفه رو کنسل کنه و بره سراغ ادامه برنامه .

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

      راستش اگه با تایمر انجام بدم مشکل حل میشه ولی از همه تایمر هام اون هم به صورت همزمان دارم یه جایه دیگه استفاده میکنم و باهاشون تایمای زیادی رو میشمرم که وقتی تو این وقفه هم استفاده کردم کل برنامه تو وقفه تایمر خوابید

      شما راه حلی ندارین که بشه یک رشته 50 کاراکتری از درگاه سریال بدون do _loopخوند خودم اینکارو کردم

      Geted:
      Disable Urxc
      Ta_sms = ""
      Bs = 0

      Do
      Bs = Inkey()

      Select Case Bs
      Case 0:
      Case 13:
      If Ta_sms <> "" Then Exit Do

      Case 10:
      If Ta_sms <> "" Then Exit Do


      Case Else
      Ta_sms = Ta_sms + Chr(bs)
      End Select

      Start Watchdog
      Loop
      Stop Watchdog
      'Reset Watchdog




      Send_if_1 = 122
      Send_if_2 = 122


      Return

      Sended:

      Disable Utxc

      Ta_sms = ""
      Enable Urxc
      Return
      من نه آنم که زبونی کشم از چرخ فلک
      چرخ بر هم زنم ار غیر مرادم باشد

      دیدگاه

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