سلام دوستان!
سوال اولی واجبه،اگه حوصله داشتید الباقی رو هم جواب بدید!
زبان برنامه نویسی: کدویژن
1- فرض کنید تو یه ارتباط سریال داریم تعداد نا معلومی کاراکتر دریافت میکنیم(100-280-500 کاراکتر؟ تعدادنامعلومه!)، زمان شروع ارسال رو میشه فهمید(با فعال کردن وقفه دریافت)، اما از کجا بفهمیم کاراکترها کامل دریافت شدن؟
2- اگه راه خاصی نیست خودم یه ایده به ذهنم رسید: بیام و 10ms صبر کنم،اگه وقفه دریافت رخ نداد،میفهمم که کاراکترها کامل دریافت شدن(چون این تعداد نامعلوم کاراکتر با سرعت بالا و بدون تاخیر-همه پشت سر هم- به میکرو ارسال میشن)،اما یه مشکلی هست: این 10ms رو کجا قرار بدم؟ (اگه بعد از هر دریافت قرار بدم که تعدادی کاراکتر این وسط از بین میرن)
3- اگه از دستور getchar استفاده کنیم، برنامه صبر میکنه تا یه کاراکتر وارد شه، حالا راهی هست که بهش بگیم، مثلا 50ms ثانیه صبر کن و اگه کاراکتری نیومد،برو خط بعد(لطفا نگید که از وقفه دریافت استفاده کن!)
پیشاپیش ممنون...
سوال اولی واجبه،اگه حوصله داشتید الباقی رو هم جواب بدید!
زبان برنامه نویسی: کدویژن
1- فرض کنید تو یه ارتباط سریال داریم تعداد نا معلومی کاراکتر دریافت میکنیم(100-280-500 کاراکتر؟ تعدادنامعلومه!)، زمان شروع ارسال رو میشه فهمید(با فعال کردن وقفه دریافت)، اما از کجا بفهمیم کاراکترها کامل دریافت شدن؟
2- اگه راه خاصی نیست خودم یه ایده به ذهنم رسید: بیام و 10ms صبر کنم،اگه وقفه دریافت رخ نداد،میفهمم که کاراکترها کامل دریافت شدن(چون این تعداد نامعلوم کاراکتر با سرعت بالا و بدون تاخیر-همه پشت سر هم- به میکرو ارسال میشن)،اما یه مشکلی هست: این 10ms رو کجا قرار بدم؟ (اگه بعد از هر دریافت قرار بدم که تعدادی کاراکتر این وسط از بین میرن)
3- اگه از دستور getchar استفاده کنیم، برنامه صبر میکنه تا یه کاراکتر وارد شه، حالا راهی هست که بهش بگیم، مثلا 50ms ثانیه صبر کن و اگه کاراکتری نیومد،برو خط بعد(لطفا نگید که از وقفه دریافت استفاده کن!)
پیشاپیش ممنون...
دیدگاه