اخبار جدید یوبرد در اینستاگرام

غیر حرفه ای ترین روش در کدنویسی، استفاده از تاخیری است که کل سیستم را منتظر می گذارد. منظور استفاده از توابع delay بوده که در آنها از حلقه های تکرار مثل for و while استفاده می شود. در این تاخیرها برنامه به اندازه ای که کاربر نیاز دارد متوقف می شود. استفاده از چنین تاخیرهایی در سیستم های حیاتی هیچ جایگاهی ندارد.

فیلم آموزش استاندارد MISRA C، کدنویسی سیستم های حیاتی

علاوه بر اینکه استفاده از این روش باعث می شود که کل سیستم منتظر اجرای یک خط برنامه باشد، مشکلات متعدد دیگر نیز دارد. بطور مثال با استفاده از این تاخیرها، توسعه برنامه و عیب یابی و رفع ایراد حتی برای خود توسعه دهنده آن نرم افزار دشوار می شود. یک نرم افزار، هرچقدر غیر اصولی باشد اما از تاخیرهایی که سیستم را متوقف می کند در آن استفاده نشده باشد، توسعه آن توسط یک توسعه دهنده دیگر چندان دشوار نخواهد بود. اما اگر از تاخیرهایی که سیستم را متوقف می کند استفاده شده باشد، رفع ایراد و توسعهآن توسط یک توسعه دهنده دیگر بسیار دشوار خواهد بود.

به عبارت دیگر استفاده از تاخیرهایی که سیستم را متوقف می کند، غیرحرفه ای ترین اشتباه عمومی در پروژه هاست. به توسعه دهندگان پیشنهاد می شود که مهم‌ترین پارامتر برای اینکه تصمیم بگیرند که نرم افزار یک شخص دیگر را توسعه دهند یا خیر، استفاده یا عدم استفاده ای این تاخیرها در نرم افزار نوشته شده است.

در طول سالهای گذشته مطالب متعددی درمورد عدم استفاده از توابع delay که سیستم را متوقف می کند، منتشر کرده ایم. از جمله می توان به موارد زیر اشاره کرد.

کتابخانه Delay برای میکروکنترلر

آموزش روش حذف کتابخانۀ delay از پروژه های میکروکنترلری

تاخیر میلی ثانیه ای در میکروکنترلرها

تاخیر میکروثانیه ای در میکروکنترلرها

رضا اسدی

رضا اسدی

مدیر یوبرد، خالق و توسعه دهندۀ پلتفرم یوبرد، مجری پروژه های الکترونیکی، فعال در صنعت آسانسور، سابقه فعالیت در صنعت خودرو و همکاری در صنعت پزشکی و صنایع دیگر، آموزگار آموزش های یوبرد

جدیدترین های برنامه نویسی در وبلاگ و میکروآموزش

پیچیدگی نرم افزار

پیچیدگی نرم افزار

پیچیدگی نرم افزار (software complexity) در یک محصول از پیچیدگی عملکرد کدهای آن (رابط های سیستمی متعدد و الزامات پیچیده) سرچشمه می گیرد.

لزوم کد تست برای سخت افزار

لزوم کد تست برای سخت افزار

لزوم کد تست برای سخت افزار، به تسهیل فرایند توسعه برمیگردد.

خواندن متغیر قبل از مقداردهی به آن در استاندارد MISRA C++

خواندن متغیر قبل از مقداردهی به آن در استاندارد MISRA C++

خواندن متغیر قبل از مقداردهی به آن در استاندارد MISRA C++، ممنوع شده است.

آرایه با کلاس حافظۀ خارجی

آرایه با کلاس حافظۀ خارجی

آرایه با کلاس حافظۀ خارجی (در زمانی که آرایه با extern اعلان شود.)، در استاندارد MISRA C الزاماتی دارد.

پیش ثبت نام تا به حد نصاب رسیدن کلاس خصوصی 3 نفرۀ آموزش STM32

0 دیدگاه

یک دیدگاه بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دانلود

لطفا برای دریافت لینک دانلود اطلاعات خواسته شده را وارد نمایید
ضبط پیام صوتی

زمان هر پیام صوتی 4 دقیقه است