تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 14

نام تاپيک: استفاده از تایمر بدون فرم

  1. #1
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض استفاده از تایمر بدون فرم

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

  2. #2
    داره خودمونی میشه dr.bronx's Avatar
    تاريخ عضويت
    Jan 2007
    محل سكونت
    Mashhad
    پست ها
    262

    پيش فرض

    اونجوری که من فهمیدم شما جواب خودتون رو پیدا کردید
    نمی دونم به دردت می خوره یا نه ولی می تونی از دستور Timer استفاده کنی...
    A = Timer
    While Timer - A < 10
    Wend
    {.... Commands}

  3. #3
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض

    سلام.
    نه عزیز این که نشد تایمر. پدر cpu رو در میاره.

  4. #4
    داره خودمونی میشه
    تاريخ عضويت
    May 2006
    پست ها
    124

    پيش فرض

    سلام
    كسي ميدونه چطوري ميتونيم تاخير هاي كمتر از 1 ميلي ثانيه درست كنيم؟ (براي ارتباط با سخت افزار بيروني ميخوام)
    تايمر vb كه كمتر از 1 ميلي ثانيه نداره. ممنون ميشم اگه پاسخ بديد.

  5. #5
    داره خودمونی میشه dr.bronx's Avatar
    تاريخ عضويت
    Jan 2007
    محل سكونت
    Mashhad
    پست ها
    262

    پيش فرض

    فکر می کنم این به کارت بیاد<<<<<

    ساخت يک تايمر با دقت بالا : شايد تا بحال از کنترل تايمر موجود در نوار ابزار ويژوال بيسيک استفاده کرده باشيد . اين تايمر داراي دقت حدود ۵۵ ميلي ثانيه است . براي دستيابي به زمانهاي با دقت بالاتر اين کنترل مفيد نخواهد بود .
    تابع GetTickCount يک API موجود در کتابخانه Kernel32.dll است . اين تابع طول زماني را که سيستم شروع به کار کرده است را برحسب ميلي ثانيه برمي گرداند :
    Private Declare Function GetTickCount Lib "kernel32" () As Long
    براي بررسي طي شدن يک مدت زماني خاص شما ابتدا بايد مقدار اين تابع را در يک متغير کمکي مثل TempTime قرار دهيد سپس در يک حلقه Do-Loop بايد اختلاف زمان GetTickCount جديد و زمان TempTime را با مقدار زماني که مي خواهيد سپري شود مقايسه کنيد :
    TempTime = GetTickCount()x
    Do While DesiredTime < GetTickCount() - TempTime
    Do some things'
    Loop
    توسط کد بالا مي توان يک عمليات خاص را براي يک مدت زماني مشخص اجرا کرد .
    کد زير نشان مي دهد که چگونه مي توان دستورات خاصي را در فواصل زماني خاص اجرار کرد :
    ExitFunction = False
    TempTime = GetTickCount()x
    Do While not(ExitFunction)x
    If DesiredTime < GetTickCount() - TempTime then
    Reset the temporary variable'
    TempTime = GetTickCount()x
    Do some things'
    End If
    Loop
    همچنين از تابع GetTickCount مي توان براي benchmark برنامه ها استفاده کرد . بعبارت ديگر مي توان زمان اجراي يکسري دستورات خاص را بدست آورد .

  6. #6
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض

    سلام.
    دکتر جان GetTickCount زمان کارکرد رو بر حسب میلی ثانیه بر میگردونه. ایشون گفتن کمتر از میلی ثانیه. چیزی مثل میکرو ثانیه.

  7. #7
    پروفشنال majj's Avatar
    تاريخ عضويت
    Sep 2006
    پست ها
    716

    پيش فرض

    فکر کنم میلی ثانیه به میکرو ثانیه هم بشه تو یک تابع تبدیل کرد

  8. #8
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض

    سلام.
    شما میلی رو در 1000 ضرب کنی میشه میکرو. ولی وقتی تابع میلی بر گردونه دقت میکرو رو نخواهد داشت.

  9. #9
    داره خودمونی میشه dr.bronx's Avatar
    تاريخ عضويت
    Jan 2007
    محل سكونت
    Mashhad
    پست ها
    262

    پيش فرض

    آقا بیخیال
    مگه می خوای آپولو هوا کنی
    چه خبره
    میکرو سانیه
    حالا دارم یه دونه تایمر آپ می کنم
    ببین شاید به دردت خورد

  10. #10
    داره خودمونی میشه
    تاريخ عضويت
    May 2006
    پست ها
    124

    پيش فرض

    آقا بیخیال
    مگه می خوای آپولو هوا کنی
    چه خبره
    میکرو سانیه
    حالا دارم یه دونه تایمر آپ می کنم
    ببین شاید به دردت خورد

    سلام
    از بابت پست قبليت ممنون. فكر كنم قبلاً هم اين روش رو يه جا ديگه ديده بودم. ولي هنوز امتحانش نكردم.
    بعدشم همونطور كه گفتم دليل اين كه ميخوام دقت ميكروثانيه داشته باشم اينه كه قصد دارم از طريق پورت پرينتر با بيرون ارتباط برقرار كنم. همونطور كه ميدونيد مثلاً براي نوشتن اطلاعات روي يك EEPROM بايد بين يك و صفر كردن پايه ها ي پورت حدود 4 ميكروثانيه صبر كنيم. و اين امر توسط تايمر ممكن نيست.

    به هر حال از توجهتون ممنون. (در ضمن منتظر اون تايمرتون هم هستم)

صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •