میکروکنترلر STM32

الگوریتم CRC

در دنیای دیجیتال امکان خرابی داده هنگام انتقال به سیستمی دیگر یا ذخیره بر روی حافظه وجود دارد. به همین دلیل، ما از مدت‌ها پیش نیاز داشتیم تا راهی برای تشخیص این موضوع پیدا کنیم. هنگامی که خطا در داده‌های دریافتی شناسایی شود، می‌توان دوباره از فرستنده درخواست ارسال مجدد کرد. در مواردی حتا آن را تصحیح کرد و یا …

مشاهده بیشتر »

حافظه cache

تو پروژه اخیرم قراره از میکروکنترلری استفاده کنم که cache داره و میشه به کمکش کدهای برنامه رو که قراره تو حافظه‌ی خارجی قرار بگیره، با سرعت خوبی اجرا کرد. این بود که لازم شد یه سر به بحث cache بزنم و یه آشنایی ساده در حدی که کارم راه بیفته باهاش پیدا کنم. در خصوص حافظه Cache شرکت ST …

مشاهده بیشتر »

usb device شناسایی می‌شود اما خطای “error code 10” برگردانده می‌شود | STM32 USB Device

اخیراً در پروژه‌ای برای راه اندازی USB Device در میکروکنترلر STM32 به مشکل بر خوردم. این کار را قبلاً هم انجام داده بودم و قاعدتاً باید این بار هم به راحتی راه میفتاد. اما مشکلی که داشتم این بود که با وجود شناسایی USB توسط کامپیوتر، پس از مدتی خطای “error code 10” برگردانده می‌شد و امکان برقراری با USB …

مشاهده بیشتر »

فیلتر دیجیتال در Input Capture میکروکنترلرهای STM32

تو این پست می‌خوام در خصوص فیلتر دیجیتال در Input Capture میکروکنترلرهای STM32 صحبت کنم. یک بخش کوچک اما مهم. اگر با این پریفرال آشنا باشید می‌دونید که خود این واحد زیرمجموعه‌ای از پریفرال تایمر به حساب میاد و برای دیدن رجیسترهاش در رفرنس منوال باید سراغ بخش تایمرها برویم.

مشاهده بیشتر »

TrueSTUDIO – ابزار محبوبِ من برای برنامه نویسی STM32

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

مشاهده بیشتر »

پروژه پیاده سازی بازی snake با دات ماتریکس – ورژن 1.0

اگر مطالب گفته شده در سلسله پست‌های “دوره رایگان آموزش مقدماتی میکروکنترلر STM32” را به خوبی دنبال کرده باشید، به حدی رسیده‌اید که آستین‌ها را بالا بزنید و شروع به پیاده سازی پروژه این دوره کنید. اما قبل از اینکه دست به کار شوید لازم است که توضیحاتی در خصوص سخت افزار مورد نیازمان بدهم.

مشاهده بیشتر »

ترفندی برای کم اثر کردن شکستن قفل میکروکنترلر

اگر می‌خواهید محصول خود را که مبنی بر میکروکنترلر است، به بازار یا به هر دلیلی به افرادی، ارائه دهید و در عین حال نگران کپی شدن آن و هدررفتن زحماتتان هستید. احتمالاً خواندن این مطلب برای شما خالی از لطف نباشد. در ادامه می‌خواهم برای شما از روشی صحبت کنم که حتی اگر کسی با شکستن قفل میکروکنترلر به …

مشاهده بیشتر »

چقدر طول می‌کشد تا UART اطلاعاتم را بفرستد؟ – محاسبه زمان ارسال / دریافت با baud rate

در برنامه‌ای نیاز بود تا بدانیم هر بار ارسال 10 بایت دیتا از طریق UART، چقدر زمان می‌برد. می‌خواستیم با یک حساب سرانگشتی از طریق baud rate – باودریت – تعیین شده، حدود این زمان -چرا حدود؟- را به دست آوریم. در این برنامه پورت سریال به صورت 8N1 یا به عبارتی هشت بیت دیتا، بدون هیچ پریتی و یک …

مشاهده بیشتر »

انتخاب پین‌های مناسب برای پریفرال ( remap ) به کمک STM32CubeMX

یک ویژگی فوق العاده در میکروکنترلرهای STM32 این است که گاهی می‌توانید پین‌های پریفرال مورد نیاز خود را عوض کنید. به این کار اصطلاحاً remap کردن می‌گویند.  این کار می‌تواند دست شما را در کشیدن PCB و یا طراحی مدار بازتر کند.

مشاهده بیشتر »

آموزش میکروکنترلر STM32 – ورودی کردن GPIO

در پست قبل یاد گرفتیم چگونه می‌توان پایه میکرو را به صورت GPIO_Output کانفیگ کرد و در ادامه با ساخت پروژه led چشمک زن چیزهایی که یاد گرفتیم را در معرض آزمون قرار دادیم. در این قسمت می‌خواهیم به نحوه‌ی ورودی کردن GPIO بپردازیم. مثال ساده‌ای هم که برای این قسمت در نظر گرفتم، خواندن وضعیت یک کلید – از نوع tactile …

مشاهده بیشتر »