انگیزهی من از نوشتن این مطلب مواردی بود که گاهی مشاهده میکردم فرد با وجود سالها تجربه این نکات را نمیداند و با فرض اشتباه کد میزند. اگر میخواهید کل آرایه را با صفر پر کنید، کافی است، یکی از دو راه زیر را انتخاب کنید: یا اما در نظر داشته باشید با انجام چنین کاری: آرایهی ما با یک …
مشاهده بیشتر »خطر اندیس متغیر در آرایه | زبان برنامه نویسی C
از موارد بسیار کاربردی در برنامهنویسی با زبان C، آرایهها هستند. در اینجا میخواهیم به نکتهای در خصوص آرایهها اشاره کنیم که عدم توجه به آن، میتواند موجب باگهای خطرناک در برنامه شود.
مشاهده بیشتر »تعریف symbol در فایل GCC Linker
در حین بررسی پروژهای، متوجه چیزی غیرمتعارف شدم که تا به حال ندیده بودم. در برنامه به متغیری اشاره شده بود که هیچ کجا اثری از تعریف آن نبود: این در حالی بود که کلمه extern اعلام میکرد در جایی از پروژه، این متغیر تعریف شده. کل فایلهای پروژه را جستجو کردم. نهایتاً متوجه که این اسم در لینکر هم …
مشاهده بیشتر »مرتب کردن اعداد در برنامه نویسی میکروکنترلر با الگوریتم shell sort
این بحث شاید خیلی عمومیت نداشته باشد. واسه همین، تعجب نمیکنم که بگویید: “آخه کی در برنامه نویسی میکروکنترلر نیاز به این کار داره؟!” اما اگر به هر دلیلی به دنبال راهکاری برای مرتب یا sort کردن تعداد زیادی از اعداد در برنامه میکروکنترلر خود میگردید، شاید shell sort همان چیزی باشد که به دنبالش هستید. این پست حاصل تحقیقات …
مشاهده بیشتر »چه زمان باید از کلمه کلیدی volatile استفاده کرد؟
در این پست قصد دارم در مورد کاربرد کلمه کلیدی volatile در برنامه نویسی میکروکنترلرها به زبان c صحبت کنم. دانستن اینکه volatile چیست و چه زمان باید از آن استفاده کرد، اهمیت بالایی دارد. طوریکه استفاده نکردن از این عبارت در جای خود، میتواند موجب عمل نکردن برنامه شما شود.
مشاهده بیشتر »تعریف کانفیگ های مختلف برنامه با کمک #define
فرض کنید شما برنامه نویس میکروکنترلر دستگاهی هستید که قرار است پس از گرفتن اطلاعات از یکسری سنسور، محاسباتی انجام دهد و نهایتاً نتیجه را بر روی نمایشگر به نمایش بگذارد. اوضاع خوش و خرم پیش میرود تا روزیکه مدیرعامل از شما درخواست یک نسخه نمایشی -Demo- برای نمایشگاه میکند. این نسخه به جای اینکه اطلاعات لازم را از سنسورها …
مشاهده بیشتر »نکات برنامه نویسی : نامگذاری معنیدار
نوشتن کد خوانا و تمیز از جمله مهمترین مهارتهایی است که هر برنامه نویس، فارغ از زبانی که استفاده میکند باید یاد بگیرد و بکار ببندد. کد تمیز ویژگیهای بسیاری دارد که شرح و بسط هرکدام میتواند فصلی از یک کتاب یا یک ویدیو چند ساعته باشد که قطعاً از حوصله این نوشته خارج است. اما رعایت نکاتی از این …
مشاهده بیشتر »یادگیری زبان C – راهی که من رفتم
برای برنامه نویسی میکروکنترلرهای STM32 میتوان از زبانهای سی، سی پلاس پلاس، اسمبلی و … استفاده کرد. که البته در بین این گزینهها، زبان C متداولترین گزینه میان امبددکارهاست. به نظر من، یادگیری زبان C از واجباب کار با میکروکنترلرها است. داشتن مهارت در برنامهنویسی با زبان C از اصول و پایههای کار، به حساب میآید. به طوری که اگر …
مشاهده بیشتر »نکات برنامه نویسی با زبان C : معرفی
معرفی سری پستهای “نکات برنامه نویسی با زبان C” : در این سری پستها قصد دارم نکاتی که طی این سالها برنامه نویسی با زبان C یادگرفتهام یا با تجربه به دست آوردهام را با شما به اشتراک بگذارم. این نکات شاید کوچک به نظر بیایند، اما به دست آوردن بعضی از آنها با تحمل صبر زیاد به دست آمده …
مشاهده بیشتر »