آموزش انواع داده در C و C++ برای آردوینو و میکروکنترلرها

آموزش زبان   c++\c 

 بخش یک : انواع داده در C و C++؛ پایه‌ای تا حرفه‌ای برای آردوینو و میکروکنترلرها

 

در ادامه انواع داده‌ در C و C++ را ویژهٔ برنامه‌نویسی آردوینو و میکروکنترلرها طوری توضیح می‌دهم که هم برای شروع مناسب باشد و هم در سطح حرفه‌ای بتوانی از آن‌ها استفاده کنی.

تصور کن می‌خوای یک سری وسیله داخل چندتا جعبه بذاری.

جعبه‌ها اندازه‌های مختلف دارن:

  • جعبه کوچک
  • جعبه متوسط
  • جعبه بزرگ
  • جعبه خیلی بزرگ
  • جعبه های علامت دار و بدون علامت 

در آردوینو، متغیرها مثل همین جعبه‌ها هستن؛ هر کدوم اندازه‌ای دارن و فقط یه مقدار مشخص جا می‌گیرن.

:byte

مثل یک جعبهٔ خیلی کوچک

ظرفیت: فقط 1 بایت → 0 تا 255

مثل یک کشو کوچک که فقط یک عدد کوچیک داخلش جا میشه.

مثال کاربردهای واقعی:

  • شماره پین LED
  • مقدار بین 0 تا 255 مثل PWM، روشنایی، رنگ

 

:int

یک جعبه متوسط

ظرفیت: 2 بایت → از -32768 تا +32767

 

:unsigned int

همان جعبهٔ متوسط، اما بدون علامت

یعنی منفی ندارد → فقط مثبت

ظرفیت: 0 تا 65535

وقتی یقین داری مقدار منفی نداریم، این عالیه.

برای چیزی مثل فاصله میتونیم از این متغیر استفاده کنیم 

:float

مثل یک جعبهٔ مخصوص آب که ظرفیت اندازه دقیقش مهمه

 

:char

یک جعبهٔ کوچک مخصوص حروف

:bool

یک جعبهٔ خیلی خیلی کوچک، فقط روشن/خاموش

خب بعد از توضیحات مفهومی بالا بریم برای اموزش تخصصی و حرفه ای  انواع داده ها : 

1. انواع صحیح (Integer Types) در آردوینو / AVR

بر خلاف PC، در آردوینو اندازهٔ انواع کاملاً مشخص و ثابت است:

  • byte  اندازه آن برابر است با یک بایت : بازه 0 تا 255
  • int    اندازه آن برابر است با دو بایت : بازه -32768 تا +32767
  • unsigned int اندازه آن برابر است با دو بایت : بازه 0 تا 65535
  • long اندازه آن برابر است با چهار بایت
  • unsigned long اندازه آن برابر است با چهار بایت
  • short = همان int (دو بایت)

 

مثال کاربرد در آردوینو:

 

;byte ledPin = 13

;unsigned int adcValue = 0

;()long timeMs = millis

نکات حرفه‌ای:

  • اگر مقدار هرگز منفی نمی‌شود، همیشه از unsigned استفاده کن → سرعت بیشتر، بازه دو برابر.

2. نوع‌های typedef شده (برای کنترل دقیق)

در آردوینو و میکروکنترلرها انواع زیر بسیار مهم‌اند زیرا اندازه دقیق دارند:

uint8_t → 8-bit unsigned

int8_t → 8-bit signed

uint16_t → 16-bit unsigned

uint32_t → 32-bit unsigned

(خیلی سنگین)uint64_t → 64-bit unsigned

این نوع‌ها از <stdint.h> می‌آیند و برای ارتباطات، پروتکل‌ها، رجیسترهای سخت‌افزاری و ساختار داده‌های دقیق استفاده می‌شوند.

مثال حرفه‌ای:

;uint8_t command = 0xA5
;
uint16_t sensorValue = analogRead(A0)
;()
uint32_t microsTime = micros
 

3. نوع کاراکتر و رشته‌ها

char

  • یک بایت
  • در آردوینو برای ذخیرهٔ متن و کاراکتر استفاده می‌شود.

 

;'char c = 'A
;"char text[] = "Hello

 

4. انواع اعشاری (float و double)

در آردوینو UNO / AVR:

  • float  برابر است با چهار بایت
  • double = همان float (هیچ دقت اضافه‌ای ندارد!)

یعنی:

// تفاوتی ندارد!    ;float x = 3.14

;double y = 3.14

5. بولین (boolean / bool)

در آردوینو:

  • boolean برابر است با یک بایت
  • bool استاندارد 

;bool isOn = true
 

6. نوع void (نوع تهی)

کاربرد:

  • نشان می‌دهد تابع خروجی ندارد
  • نشان می‌دهد اشاره‌گر نوع نامشخص دارد (generic pointer)

 

{} () void setup
{}  () void loop


 

 

۵
از ۵
۱ مشارکت کننده

جستجو در مقالات

رمز عبورتان را فراموش کرده‌اید؟

ثبت کلمه عبور خود را فراموش کرده‌اید؟ لطفا شماره همراه یا آدرس ایمیل خودتان را وارد کنید. شما به زودی یک ایمیل یا اس ام اس برای ایجاد کلمه عبور جدید، دریافت خواهید کرد.

بازگشت به بخش ورود

کد دریافتی را وارد نمایید.

بازگشت به بخش ورود

تغییر کلمه عبور

تغییر کلمه عبور

حساب کاربری من

سفارشات

مشاهده سفارش

سبد خرید