بریم مرحلهبهمرحله پروژهی معروف و سادهی "چشمکزن (Blink LED)" رو با هر دو میکرو انجام بدیم:

مرحله 1: برنامه چشمکزن با AVR (آردوینو UNO یا Nano)
وسایل مورد نیاز:
آردوینو UNO یا نانو
LED
مقاومت 220 اهم
بردبرد و سیم
اتصال:
پایه مثبت (بلندتر) LED رو به پایه D13 آردوینو وصل کن.
پایهی کوتاهترش به مقاومت 220 اهم، بعد به GND.
کد:
void setup() {
pinMode(13, OUTPUT); // پایه 13 خروجی بشه
}
void loop() {
digitalWrite(13, HIGH); // LED روشن
delay(500); // نیم ثانیه مکث
digitalWrite(13, LOW); // LED خاموش
delay(500); // نیم ثانیه مکث
}

وقتی اینو آپلود کنی، LED شروع به چشمکزدن میکنه.
---

مرحله 2: همون پروژه با STM32F103C8T6 (Blue Pill)
وسایل مورد نیاز:
برد Blue Pill
ST-Link V2 (یا پروگرامر سریال USB)
کابل USB
LED و مقاومت
بردبرد
اتصال:
LED رو به پایهی PC13 وصل کن (پایهای که معمولاً LED داخلی داره هم هست).
مثل AVR، مقاومت رو هم در مسیر بگذار.
برنامه در Arduino IDE:
برای راحتی، از Arduino IDE استفاده میکنیم:
مرحله نصب STM32 در Arduino IDE:
1. برو به File → Preferences
2. توی "Additional Board URLs" اینو وارد کن:
3. بعد برو به Tools → Board → Boards Manager
و عبارت STM32 رو جستوجو کن، بعد "STM32 Cores" رو نصب کن.
4. حالا از منوی Board → STM32 Boards، گزینهی "BluePill F103C8 (Generic)" رو انتخاب کن.
5. از منوی Tools، گزینهی Upload method رو روی:
STM32duino bootloader (اگر بوتلودر نصب شده)
یا STLink (اگر ST-Link استفاده میکنی) بذار.
کد چشمکزن:
void setup() {
pinMode(PC13, OUTPUT); // پایهی PC13 خروجی بشه
}
void loop() {
digitalWrite(PC13, LOW); // روشن (در STM معمولاً با LOW روشن میشه!)
delay(500);
digitalWrite(PC13, HIGH); // خاموش
delay(500);
}

اگه ST-Link یا USB سریال رو درست وصل کرده باشی، برنامه آپلود میشه و LED شروع به چشمکزدن میکنه.
مقایسه نهایی:
ویژگیAVR (UNO/Nano)STM32 (Blue Pill)
سرعت چشمکزدن دقیقکمدقت (delay)دقیقتر به کمک تایمرها
مصرف برقبیشترکمتر
انعطاف در کار با پایههاکمتربیشتر
پتانسیل ارتقامحدودفوقالعاده زیاد