AVR یا PIC؟ کدام میکروکنترلر را برای پروژه‌ها انتخاب کنیم؟

AVR یا PIC؟ کدام میکروکنترلر را برای پروژه‌ها انتخاب کنیم؟

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

ادامه نوشته »

اورلود کردن عملگر فراخوانی تابع () در ++C

اورلود کردن عملگر فراخوانی تابع () در ++C

عملگر فراخوانی تابع () را می‌توان برای اشیا آن کلاس اورلود کرد. با اورلود کردن عملگر ()، راه جدیدی برای فراخوانی تابع ایجاد نمی‌کنید، بلکه یک تابع عملگر ایجاد خواهید کرد که می‌توان تعداد دلخواهی پارامتر به آن ارسال کرد. مثال زیر نحوه اورلود کردن عملگر فراخوانی () را نشان …

ادامه نوشته »

اورلود کردن عملگر ایندکس در ++C

اورلود کردن عملگر ایندکس در ++C

عملگر ایندکس معمولاً برای دسترسی به عناصر یک آرایه استفاده می‌شود. این عملگر را می‌توان برای بهبود کارایی آرایه‌های ++C اورلود کرد. مثال زیر نحوه اورلود این عملگر را نشان می‌دهد. #include <iostream> using namespace std; const int SIZE = 10; class safearay { private: int arr[SIZE]; public: safearay() { …

ادامه نوشته »

اورلود کردن عملگر دسترسی کلاس (->) در ++C

اورلود کردن عملگر دسترسی کلاس (

عملگر دسترسی کلاس (<‒­­) را می‌توان با احتیاط بیشتر اورلود کرد. این عملگر تعریف می‌شود تا به کلاس، رفتاری شبیه یک اشاره‌گر اعطا کند. عملگر <‒ باید یک تابع عضو باشد. در صورت استفاده، نوع داده بازگشتی آن باید اشاره‌گری به یک شی از همان کلاسی باشد که عملگر به …

ادامه نوشته »

اورلود کردن عملگرهای ورودی/خروجی در ++C

اورلود کردن عملگرهای ورودی/خروجی در ++C

در ++C می‌توان نوع داده‌های داخلی را با استفاده از عملگر استخراج استریم << وارد کرد و یا با استفاده از درج استریم >> به خارج ارسال کرد. عملگرهای درج استریم و استخراج استریم را می‌توان برای وارد و خارج کردن نوع داده‌های تعریف شده کاربر، مانند اشیا، اورلود کرد. …

ادامه نوشته »

اورلود کردن عملگرهای رابطه‌ای در ++C

اورلود کردن عملگرهای رابطه‌ای در ++C

زبان ++C از عملگرهای رابطه‌ای متعددی (<, >, =<, =>, ==,…) پشتیبانی می‌کند. این عملگرها برای مقایسه نوع داده‌های داخلی در ++C به کار می روند. می‌توان هرکدام از این عملگرها را اورلود کرد تا برای مقایسه‌ی اشیا یک کلاس هم قابل استفاده باشند. مثال زیر نحوه اورلود کردن عملگر …

ادامه نوشته »

اورلود کردن عملگرهای باینری در ++C

اورلودکردن عملگرهای باینری در ++C

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

ادامه نوشته »

اورلود کردن عملگرهای یگانی در ++C

اورلود کردن عملگرهای یگانی در ++C

عملگرهای یگانی روی یک عملوند کار می‌کنند. مثال‌های زیر نمونه‌ای از عملگرهای یگانی هستند. عملگر افزایش (++) و کاهش (- -) عملگر یگانی منفی (-) عملگر منطقی نفی (!) عملگرهای یگانی روی اشیا نیز کار می‌کنند و در حالت نرمال، عملگر در سمت چپ شی قرار می‌گیرد، مانند obj ،-obj …

ادامه نوشته »

اشاره‌گر this در ++C

اشاره‌گر this در ++C

در این جلسه به بررسی اشاره‌گر this در ++C میپردازیم. هر شی در ++C از طریق یک اشاره‌گر مهم به نام this، به آدرس خودش دسترسی دارد. اشاره‌گر this یک پارامتر ضمنی برای همه توابع عضو شی می‌باشد. بنابراین، درون یک تابع عضو، از this برای اشاره  به شی می‌توان …

ادامه نوشته »

آموزش کار با Atmel Studio

آموزش کار با Atmel Studio

در این جلسه به آموزش کار با Atmel Studio خواهیم پرداخت. استفاده از میکروکنترلرهای AVR که از خانواده‌ی میکرو (MCUs)‌های Atmel هستند، بسیار ساده است. برای کار با تمام میکروهای این خانواده ابتدائاً به یک محیط توسعه یا IDE مانند همین نرم‌افزار Atmel Studio نیاز داریم. در حقیقت با استفاده …

ادامه نوشته »

نام کاربری و رمزعبور پیش‌ فرض رزبری پای (سیستم عامل رزبین)

نام کاربری و رمزعبور پیش‌فرض رزبین بورد

در این جلسه از آموزش مقدماتی رزبری پای در مورد نام کاربری (username) و رمز عبور (password) پیش‌فرض رزبین در رزبری‌پای صحبت خواهیم کرد. اطلاع داشتن از نام کاربری و رمز عبور رزبین از اهمیت بالایی برخوردار است چرا که بدون دانستن آن نمی‌توان با رزبری‌پای هیچ کاری انجام داد. …

ادامه نوشته »

توابع درون خطی در ++C

توابع درون خطی در ++C

تابع درون خطی (Inline) در ++C مفهومی قدرتمند است که معمولاً همراه با کلاس‌ها به کار می رود. اگر یک تابع درون خطی باشد، کامپایلر در زمان کامپایل،  یک کپی از کد تابع را در نقطه‌ی فراخوانی آن قرار می‌دهد. هر گونه تغییر در یک تابع درون خطی نیازمند کامپایل …

ادامه نوشته »

آموزش مقدماتی رزبری پای

آموزش مقدماتی رزبری پای

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

ادامه نوشته »

توابع دوست در ++C

توابع دوست در ++C

یک تابع دوست (Friend Function) برای یک کلاس، در خارج از دامنه (scope) آن کلاس تعریف می‌شود، اما حق دسترسی به همه اعضای خصوصی و عمومی‌ آن کلاس به آن اعطا می‌شود. اگرچه ممکن است که نمونه اولیه تابع دوست درون کلاس قرار داشته باشد، با این‌حال این توابع دوست …

ادامه نوشته »

اورلودکردن عملگر افزایش (++) و عملگر کاهش (- -)

اورلودکردن عملگر افزایش (++) و عملگر کاهش (–)

عملگرهای افزایش (++) و کاهش (- -) دو عملگر یگانی مهم در ++C هستند. مثال زیر نحوه اورلود کردن عملگر افزایش (++)، در حالت پیشوند و پسوند را نشان می‌دهد. به طریق مشابه، می‌توان عملگر کاهش (- -) را نیز اورلود کرد. #include <iostream> using namespace std; class Time { …

ادامه نوشته »