۱۴۰۳ مهر ۲, دوشنبه

برنامه نویسی میکروکنترلر STM32 از ابتدا (From scratch)


توی پست قبل درباره نوشتن اولین برنامه برای میکروکنترلر STM32F103 و برد BluePill مطالبی رو گفتم. استفاده از ویزارد برنامه STM32CubeIDE سرعت کار را بالا برده و با تنظیم (کانفیگ) متغیرها و توابع راحتی زیادی برای برنامه نویس و توسعه دهنده به ارمغان می‌آورد.

من میخواهم یک پروژه جدید بدون استفاده از ویزارد IDE بسازم و خودم فایلهاو دایرکتوری های مورد نیاز پروژه‌ام رو بهش الحاق کنم و کامپایلر را برای مسیرهای جدید تنظیم کنم. من میخوام یک پروژه رو بصورت from Scratch در STM32CubeIDE بسازم.

۱۴۰۳ شهریور ۲۶, دوشنبه

نمایش درختی دایرکتوری ها در Command Prompt ویندوز

برای نوشتن آموزش میکروکنترلر STM32 نیاز داشتم آرایش دایرکتوری رو هم نمایش بدم. برای همین منظور این آموزش کوتاه رو برای نمایش درختی دایرکتوری ها و محتویاتشون در cmd ویندوز نوشتم. 

۱۴۰۳ شهریور ۲۳, جمعه

۱۰ دلیل برای اینکه چرا باید به لینوکس Slackware فرصت بدهید

 


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

۱۴۰۳ شهریور ۱۸, یکشنبه

برنامه Blinky برای STM32 و کامپایلر STM32CubeIDE



در برنامه نویسی مرسومه که اولین قدم در یادگیری یک زبان جدید نوشتن برنامه Hello World  باشه. یک برنامه ساده که عبارت Hello World رو در کنسول چاپ میکنه.
در دنیای برنامه نویسی میکرو کنترلر معادل برنامه Hello World برنامه Blinky هست. یک برنامه ساده که باعث چشمک زدن (Blink) یک LED میشه.
میخواهم یک برنامه Blinky برای برد Blue Pill با تراشه STM32F103C8T6 بنویسم. برای این کار از کامپایلر موجود در IDE رایگان شرکت ST یعنی STM32CubeIDE استفاده میکنم.

۱۴۰۳ مرداد ۲۶, جمعه

نکاتی در باب طراحی برد مدار چاپی


 متاسفانه بدلایل کاری مجبورم مدتی از پردازش تصویر (Image Processing) و برنامه های مبتنی بر شناسایی تصویر(Image Recognition) دور باشم. توفیق اجباری شد که دوباره در زمینه مدارات الکترونیک، طراحی بردهای مدار چاپی و برنامه نویسی میکروکنترلرها فعالیت کنم.

در همین زمینه میخوام درباره بعضی اشکالات رایج در طراحی PCB کمی بررسی کنم و از تجربیات خودم و دیگران در اینجا صحبت کنم:

۱۴۰۳ خرداد ۱۰, پنجشنبه

تصحیح خطاهای STM32CubeIDE و نوشتن اولین برنامه



برنامه STM32CubeIDE بر روی سیستم من به درستی کار نمیکرد. در حقیقت بعد از تنظیم سیستم در بخش گرافیکی هیچ کدی ایجاد (جنریت) نمیشد.  در این پست میخوام دلیل مشکل و راه حلی که من بهش رسیدم رو توضیح بدهم.

۱۴۰۳ خرداد ۲, چهارشنبه

آپدیت Firmware پروگرمر ST Link ورژن ۲

 موقع استفاده از Keil برای پروگرم کردن میکروکنترلر STM32، با اتصال STLink یک پیام هشدار برروی برنامه نمایش داده میشه که Firmware پروگرمر رو آپدیت کنید. البته بدون آپدیت هم مشکلی نیست و به خوبی کار میکنه . اما من آپدیت کردم که از شر پیام هشدار خلاص بشم.

۱۴۰۳ اردیبهشت ۳۱, دوشنبه

میکروکنترلر STM32 - بخش اول (معرفی)

 من قبلا با میکروکنترلرهای ARM سری LPC محصول شرکت NXP کار کرده بودم ( که مدتها از اون زمان گذشته و باید دوباره آموخته هایم رو دوره و به روز رسانی کنم)، با توجه به فضای بازار کار و علاقه به میکروهای شرکت STM متوجه قیمت نازل این میکروهای ۳۲ بیتی شدم که در بعضی مدلها حتی از میکروکنترلرهای 8 بیتی هم ارزونتر هست. من شروع به یادگرفتن این خانواده کردم . شاید بعدا سلسله آموزشهایی درباره خانواده LPC هم در سایت قرار بدهم. اما فعلا نوشتن آموخته هام در اولویت هست تا هم برای خودم بمونه و هم اگر کسی لازم داشت استفاده کنه.

۱۴۰۲ آبان ۱۴, یکشنبه

ساخت فایل اجرایی از فایل منبع پایتونی

 

 

بنظر میاد که باید داستان رو از انتها تعریف کنم . بعد از نوشتن برنامه پایتونی و رفع ایرادات و تستهایی که انجام دادید برای تحویل برنامه باید برنامه خودتون رو در قالب یک فایل اجرایی تحویل بدید .  تفاوتی نداره در لینوکس یا ویندوز برنامه رو نوشته باشید . احتمالا مشتری شما از ویندوز استفاده میکنه ولی در کلیت ماجرا تفاوتی نداره . دو تا بسته در پایتون وجود داره که فایل پایتونی رو بهش میدید و براتون یک فایل اجرایی میسازه .