} شمشاد

داده جمع می‌کنم، بلکه یاد بگیرم زندگی‌ رو !!

شروع یک پروژه‌ی AVR با استفاده از avr-gcc و eclipse.

در مطلب قبلی با عنوان "نصب avr-gcc به همراه Eclipse در ویندوز" به نحوه نصب و راه‌اندازی avr-gcc پرداخته شد، در این مطلب به ایجاد یک پروژه ساده با استفاده از avr-gcc و eclipse اشاره می‌شود.

ایجاد پروژه:

برای ایجاد یک پروژه avr در eclipse به مسیر زیر رفته:

File > New > Project...

 

ادامه مطلب...
۱۵ فروردين ۹۷ ، ۱۰:۲۴ ۰ نظر موافقین ۱ مخالفین ۰
Hasan

نصب avr-gcc به همراه Eclipse در ویندوز

معمولا در ایران اکثر کسانی که برای avr برنامه‌نویسی می‌کنند از codvision استفاده می‌کنند. کدویژن یک کامپایلر تجاری هست که برخی از کارها رو آسون کرده واسه همین اکثرا هنگام آموزش AVR از این کامپایلر استفاده می‌شود. من هم در دانشگاه AVR رو با کدویژن یاد گرفتم و چند پروژه‌ای هم با اون انجام دادم. پولی بودن،  نبود جامعه‌ی فعال کاربری و کمبود داکیومنت و کتابخانه سبب شد که کم‌کم برم سمت avr-gcc البته این عامل که کدویژن فقط نسخه ویندوز داشت نیز در این مهاجرت تاثیر زیادی داشت.  avr-gcc برخلاف کدویژن داکیومنت و جامعه کاربری فعال زیادی داره و به راحتی می‌تونید در اینترنت برای همه‌ی سوالات‌تون جواب پیدا کنید. حتی مثال‌های دیتاشیت‌های atmel نیز براساس avr-gcc هست. avr-gcc و مجموعه ابزار پیوستی‌ش رایگان و آزاد هست و در صورت نیاز می‌توانید هر تغییر دلخواهی را در آن‌ها ایجاد کنید. همچنین از دنگ و فنگ کرک خلاص می‌شوید. از تجربه‌های خوبی که من در استفاده از avr-gc داشتم اینه که در زمان کار با کدویژن یک سری باگ‌هایی بود که من اسم‌شون رو جادوگری گذاشته بودم و اصلا نمی‌تونستم منشا‌شون رو پیدا کنم، خوشبختانه با اومدن به سمت avr-gcc این باگ‌ها از بین رفتند.

اما Eclipse، یک زمانی می‌شد ادعا کرد که بهترین IDE موجود هست، الان تعداد IDE های مختلف بسیار زیاد شده که هر کدومشون طرفدارن زیادی دارند، من از خیلی قبل‌تر به Eclips عادت کرده‌ام و واسه همین اکثرا با eclipse کار می‌کنم. اکثر زبان‌های برنامه نویسی رو ساپورت می‌کنه، رو همه سیستم‌عامل‌ها هست، آزاد هست و امکانات پایه و ویژگی‌های خوبی داره و از همه مهمتر برای کار ما یعنی avr، یک پلاگن خوب داره، که کار لینک بین کد و کامپایلر و پروگرامر رو انجام  می‌ده، تنظیمات گرافیکی برا ست کردن فیوز بیت‌‌ها داره البته از لحاظ امکانات گرافیکی به پای کدویزارد کدویژن نمی‌رسه. حالا بریم سراغ نصب‌شون.

نصب avr-gcc:

پروژه‌های زیادی برای پورت کردن avr-gcc به ویندوز هستند که با یک جستجو در گوگل می‌توانید پیداشون کنید، من از winavr استفاده می‌کنم، با اینکه نسبتا قدیی هست و متاسفانه توسعه‌اش هم متوقف شده ولی با این حال هنوز هم کار راه‌انداز هست. winavr مجموعه ابزار کاملی به همراه داره و در صورت تمایل نیازی به نصب eclipse نیست و می‌تونید از IDE خودش استفاده کنید. winavr رو از یکی از لینک‌های زیر دریافت کنید:

دانلود winavr از سایت سورس‌فورج

دانلود winavr از سایت آپلودبوی

ادامه مطلب...
۰۶ فروردين ۹۷ ، ۱۰:۲۹ ۰ نظر موافقین ۰ مخالفین ۰
Hasan

فشرده‌سازی دایرکتوری‌ها به صورت جداگانه با پایتون

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

فشرده سازی فایل با پایتون:

عمل فشرده‌سازی در پایتون به صورت پیشفرض با ماژول zipfile انجام می‌شود پس در قدم اول ماژول zipfile رو وارد کرده و سپس شی zipfile را می‌سازیم و به‌صورت زیر عمل می‌کنیم:

import zipfile

test_zip = zipfile.ZipFile('test.zip', 'w')
test_zip.write('filename', compress_type=zipfile.ZIP_DEFLATED)

test_zip.close()

در متد write اولین پارامتر مربوط به اسم فایلی (و یا پچی) هست که می‌خواهیم فشرده‌اش کنیم. پارامتر دوم موربوط به متد فشرده‌سازی هست، در پایتون ۲ فقط دو نوع متد فشرده‌سازی داریم که عبارتند از: ZIP_STORED و ZIP_DEFLATED اما بعد از پایتون ۳/۳ متدهای ZIP_BZIP2 و ZIP_LZMA نیز در دسترس هست. 

ادامه مطلب...
۲۴ اسفند ۹۶ ، ۱۰:۱۵ ۰ نظر موافقین ۰ مخالفین ۰
Hasan

نصب کامپایلر gcc در ویندوز

اولین‌ بار هنگام کار روی پایان‌نامه‌م بود که مجبور شدم در ویندوز با ++C برنامه‌نویسی‌ کنم. عادت کردن به کار با gcc و آزاد بودنش سبب شد که در ویندوز هم از gcc استفاده کنم. اخیرا یکی از دوستان در مورد نصب اوپن‌سی‌وی ازم سوال کرده بود، گفتم اینجا ابتدا به نصب gcc اشاره کنم و بعد به نصب اوپن‌سی‌وی به پردازم.

مجموعه کامپایلر‌های گنو

این کامپایلر توسط ریچارد استالمن در سال ۱۹۸۷ برای C منتشر شد. gcc ابتدا سر نام واژه‌های  GNU C Compiler بود و تنها برای زبان سی به کار می‌رفت اما بعدا با اضافه شدن کامپایلرهای زبان‌های سی‌پلاس‌پلاس، فورترن، پاسکال، جاوا، آبجکتیو سی و ایدا به مجموعه، نام آن به GNU Compiler Collection تغیر پیدا کرد. این مجموعه ابتدا منحصرا در سیستم‌های تحت گنو کاربرد داشت اما اکنون در طیف وسیعی از سیستم عامل‌ها و سخت‌افزارها کاربرد دارد. جی‌سی‌سی‌ تحت مجوز گنو جی‌پی‌ال نسخهٔ ۳ منتشر می‌شود، البته با یک بند استثنا، که در آن بند به کاربران اجاز می‌دهد تا بتوانند علاوه‌بر نرم‌افزارهای آزاد در نرم‌افزارهای‌ غیر چی‌پی‌ال حتی نرم‌افزارهای انحصاری هم از جی‌سی‌سی استفاده کنند. 

از پروژه‌های معروف و موفق که در پورت gcc به ویندوز فعال هستند می‌توان به Cygwin، MinGW و Mingw-w64 اشاره کرد. من قبلا از Cygwin و MinGW به صورت همزمان استفاده کرده‌ام، در نهایت از MinGW راضی‌تر بوده‌ام و در این مدتی که باهاش کار می‌کنم به مشکلی برنخورده‌ام. 

نصبMinGW

MinGW در واقع Minimalist GNU for Windows، یک محیط توسعه‌ی مینیمال برای برنامه‌های کاربردی ماکروسافت ویندوز هست. فقط توجه شود که بنا به اعلام سایت سازنده چنان که قصد برنامه‌نویسی تحت استاندارد پازیکس (POSIX) را داشته باشید MinGW به کار شما نخواهد آمد و در این صورت توصیه می‌شود که از  Cygwin و Mingw-w64 استفاده کنید. عملیات نصب MinGW  به صورت آنلاین هست، برای دانلود نصاب آن از دو لینک زیر می‌توانید اقدام کنید. 

دانلود از سایت  sourceforge

دانلود از سایت  آپلودبوی

ادامه مطلب...
۰۵ اسفند ۹۶ ، ۱۰:۴۰ ۰ نظر موافقین ۰ مخالفین ۰
Hasan

تنظیم Environment Variables از طریق خط فرمان

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

می‌توان Environment Variables را از طریق خط فرمان (Command Prompt) ویرایش کرد. برای این کار از دستورهای set و setx استفاده می‌کنیم. دستور set برای نشست جاری (current session) کاربرد دارد یعنی با بستن پنجره cmd تغییرات اعمال شده از بین خواهد رفت. ولی setx برای اعمال تغییرات و تنظیم پایدار هست. حال با فشردن همزمان کلیدهای "ویندوز" و "‌ R "  پنجره run را باز می‌کنیم و دستور cmd را می‌زنیم تا پنجره کنسول باز شود. 

کار با دستور set:

نحوه اضافه کردن به متغیر path با استفاده از دستور set:

set path=C:\Python27;%path%

 بدیهی است با تغییر path ‌در دستور بالا می‌توان هر متغیر دلخواهی را ویرایش کرد:

set Variable_Name=C:\Folder_Name;%Variable_Name%

حذف مقدار از متغیر path با استفاده از set، برای این‌کار عبارتی را که می‌خواهیم حذف کنیم به فرم زیر وارد می‌کنیم:

set PATH=%PATH:C:\Python27;=%

نمایش متغیرها و مقادیر موجود در Environment Variables:

set

یا

set | more

گرفتن خروجی از متغیر Environment Variables در یک فایل متنی:

SET > output.txt

نمایش مقدار متغیر path:

echo %PATH%

ادامه مطلب...
۳۰ بهمن ۹۶ ، ۱۳:۱۵ ۰ نظر موافقین ۰ مخالفین ۰
Hasan

تنظیم Environment Variables به صورت گرافیکی

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


معمولا Environment Variables (متغیرهای محیطی ویندوز) هنگام نصب برنامه ویرایش می‌شود اما در مواردی این اتفاق نمی‌افتد. با یک مثال روند کار Environment Variables را توضیح می‌دهم، بعنوان مثال: هنگامی که ما در cmd برنامه python را فرا می‌خوانیم سیستم اسم python را در Environment Variables جستجو می‌کند و از آنجا آدرس آن را پیدا و سپس اجرا می‌کند. حال اگر python در Environment Variables ثبت نشده باشد با پیغام ناشناخته بودن فرمان مواجه خواهیم شد.

C:\Users\Hasan>python
'pyhton' is not recognized as an internal or external command,
operable program or batch file.

چاره کار این است که آدرس دایرکتوری‌ای که python.exe در آن هست را به متغیر path (پچ) در Environment Variables اضافه کنیم. 

به دو طریق می‌توان به قسمت Environment Variables دست یافت، روش اول و راحت‌تر، فشردن کلیدهای ترکیبی windows + R در سیستم و باز شدن پنجره Run و وارد کردن دستور sysdm.cpl است. در پنجره باز شده، از تب Advanced از قسمت پایین پنجره، Environment Variables را باز می‌کنیم. روش دیگر این است که با راست کلیک روی آیکون My Computer و یا This PC و انتخاب properties  پنجره System را باز کنیم. در این پنجره از منوی‌ سمت چپ بر روی Advanced system settings کلیک می‌کنیم.

ادامه مطلب...
۲۹ بهمن ۹۶ ، ۱۴:۰۰ ۰ نظر موافقین ۰ مخالفین ۰
Hasan