در این پست قصد دارم در مورد کاربرد کلمه کلیدی volatile در برنامه نویسی میکروکنترلرها به زبان c صحبت کنم. دانستن اینکه volatile چیست و چه زمان باید از آن استفاده کرد، اهمیت بالایی دارد. طوریکه استفاده نکردن از این عبارت در جای خود، میتواند موجب عمل نکردن برنامه شما شود.
مشاهده بیشتر »تعریف کانفیگ های مختلف برنامه با کمک #define
فرض کنید شما برنامه نویس میکروکنترلر دستگاهی هستید که قرار است پس از گرفتن اطلاعات از یکسری سنسور، محاسباتی انجام دهد و نهایتاً نتیجه را بر روی نمایشگر به نمایش بگذارد. اوضاع خوش و خرم پیش میرود تا روزیکه مدیرعامل از شما درخواست یک نسخه نمایشی -Demo- برای نمایشگاه میکند. این نسخه به جای اینکه اطلاعات لازم را از سنسورها …
مشاهده بیشتر »TrueSTUDIO – ابزار محبوبِ من برای برنامه نویسی STM32
اینکه سالها درگیر انتخاب یک ابزار شوید بدون آنکه اقدامی انجام دهید، بدترین کار ممکن است. اما از طرفی اگر دیدید ابزاری بهره وری شما را افزایش میدهد، در تهیه و استفاده حداکثر از آن کم کاری نکنید. چراکه به مراتب بیشتر از هزینه اولیهای که بابت استفاده از آن میدهید -مادی و معنوی- به شما سود میبخشد. در ادامه …
مشاهده بیشتر »پروژه پیاده سازی بازی snake با دات ماتریکس – ورژن 1.0
اگر مطالب گفته شده در سلسله پستهای “دوره رایگان آموزش مقدماتی میکروکنترلر STM32” را به خوبی دنبال کرده باشید، به حدی رسیدهاید که آستینها را بالا بزنید و شروع به پیاده سازی پروژه این دوره کنید. اما قبل از اینکه دست به کار شوید لازم است که توضیحاتی در خصوص سخت افزار مورد نیازمان بدهم.
مشاهده بیشتر »کنترل 64 led از طریق 16 پایه – ساختار داخلی دات ماتریکس چگونه است؟
در تصویر زیر شما دو عدد دات ماتریکس – Dot matrix – مشاهده میکنید. بلوکی منظم از تعدادی LED که میتواند در بعضی جاها کار ما را در چیدن LEDها سادهتر کند. مثلاً اگر به تابلوهایِ روانِ داخل بانکها یا اتوبوسها دقت کرده باشید. اغلب تشکیل شده از چندین دات ماتریکس کنار هم هستند. اگر دات ماتریکس شما هم …
مشاهده بیشتر »دوره رایگان گیت به همراه جادی
اگر میدونید که گیت چیه و به چه درد میخوره که چه بهتر. اما اگر دوست دارید علاوه بر این بدونید که چه جوری میتونید ازش در کارهاتون استفاده کنید، توصیه میکنم حتماً یک نگاه به دوره رایگان گیت جادی بندازید.
مشاهده بیشتر »ترفندی برای کم اثر کردن شکستن قفل میکروکنترلر
اگر میخواهید محصول خود را که مبنی بر میکروکنترلر است، به بازار یا به هر دلیلی به افرادی، ارائه دهید و در عین حال نگران کپی شدن آن و هدررفتن زحماتتان هستید. احتمالاً خواندن این مطلب برای شما خالی از لطف نباشد. در ادامه میخواهم برای شما از روشی صحبت کنم که حتی اگر کسی با شکستن قفل میکروکنترلر به …
مشاهده بیشتر »چقدر طول میکشد تا UART اطلاعاتم را بفرستد؟ – محاسبه زمان ارسال / دریافت با baud rate
در برنامهای نیاز بود تا بدانیم هر بار ارسال 10 بایت دیتا از طریق UART، چقدر زمان میبرد. میخواستیم با یک حساب سرانگشتی از طریق baud rate – باودریت – تعیین شده، حدود این زمان -چرا حدود؟- را به دست آوریم. در این برنامه پورت سریال به صورت 8N1 یا به عبارتی هشت بیت دیتا، بدون هیچ پریتی و یک …
مشاهده بیشتر »انتخاب پینهای مناسب برای پریفرال ( remap ) به کمک STM32CubeMX
یک ویژگی فوق العاده در میکروکنترلرهای STM32 این است که گاهی میتوانید پینهای پریفرال مورد نیاز خود را عوض کنید. به این کار اصطلاحاً remap کردن میگویند. این کار میتواند دست شما را در کشیدن PCB و یا طراحی مدار بازتر کند.
مشاهده بیشتر »برش زدن ترک در آلتیوم دیزاینر
تا حالا برایتان پیش آمده در Altium Designer بخواهید در میانه ترک(ها)، قسمتی را پاک کنید. در ادامه به روشی برای برش زدن ترک در آلتیوم دیزاینر میپردازیم.
مشاهده بیشتر »