با عرض سلام
هدف از ایجاد این تاپیک این بود که برنامه نویسان میکروی avr ایرانی از کدوم کامپایلر استفاده می کنند؟
از همه دوستان خواهشمندیم وقتی نظر شان را دادند علت انتخاب این کامپایلر را بگویند
با تشکر
Printable View
با عرض سلام
هدف از ایجاد این تاپیک این بود که برنامه نویسان میکروی avr ایرانی از کدوم کامپایلر استفاده می کنند؟
از همه دوستان خواهشمندیم وقتی نظر شان را دادند علت انتخاب این کامپایلر را بگویند
با تشکر
شرمنده منظور از گزینه آخر سایرد موارد است
واقعا نسبت به سایر بجز بیسکام راحت تره(رابط کاربری ، ابزارو.........
در ضمن کب اموزشی بیشتری داره
avr studio فقط تا نسخه 5 بود و وقتی 6 اومد اسمش atmel studio شد چون یه سری از آرم ها رو هم ساپورت میکرد.
از نسخه 5 به بعد زبون سی و سی پلاس پلاس رو هم اضافه کرد که این ترکیب به نظر من خیلی مناسب است.
Bascom_AVR کامپایلری ، ساده و درعین حال قدرتمند هست که هرگونه برنامه ای رو میشه توسط اون برای میکرو نوشت مسئله مهم رفرنس های خوبی هست که درموردش وجود داره و کتاب خونه های زیاد برای کار با انواع ال سی دی و ... که در هر نسخه با افزایش کتاب خونه ها کار رو واسه کاربراش راحت تر حرفه ای تر و سریع تر می کنه ...
با این حال که به بسکام رای دادم ولی کدویژن هم خیلی کامپایلر قدرتمندی هست که طرفدارای خاص خودشو مخصوصا از طریق ویزاردش جذب می کنه ، کامپایلر کیل هم واسه برنامه نویسی میکرو های آرم ( زبان سی هست ) کامپایلر قدرتمندی به حساب میاد ....
در این مورد هیج بحثی نیست(خود من ایتدا ازکیو بیسیک و ویژوال بیسیک برای شروع برنامه نویس استفاده میکردم(بخاطر فهم راحت تر))نقل قول:
ساده
در بعضی مواقع با شما مخالفمنقل قول:
قدرتمند
علت موافقتم:بیسکام یه ide می باشد ، یعنی برنامه های دیگری از قبیل پروگرمر،شبیه ساز،ارتباط با شبکه(IP/TCP)و....بوده و به کاربران اجازه می دهد توی یک محیط توسعه یافته فشرده کد نویسی کرده،شبیه سازی کرده . کد هگزش کند
علت مخالفم:همه قبول داریم کلا بیسیک ها فقط بدردآموزش می خوره و برای کارای متوسط و متوسط رو به بالا کم میاره
با تشکر
به دوستان توصیه می کنم اگر دنبال کار جدی هستید، برید سراغ AVRStudio یا winAVR ، اگر هم به دنیال آسایش و امکانات هستید، اول Arduino، بعد codevision و بعد MikroC . سعی کنید طرف زبان Basic نرید، عاقبت نداره.
یسری کامپایلر دیگه هم هست که تقریبا هیچ مزیت خاصی نسبت به قبلی ها نداره، مثل IAR.
با عرض سلام
اخه مشکل اینه که منابع اموزشی کمی برای این دو وجود دارد
اگه منبعی می شناسید معرفی کنید
نظرتون درباره ی کد ویژن چیه
همه اینها منبع آموزشی انگلیسی دارند ولی بعضی ها پراکنده است (مثل winAVR) و بعضی ها متمرکز تر (مثل Arduino و هلپ MikroC). ولی اگه منبع فارسی میخواید، همون کد ویژن از بقیه بهتره.
کدویژن برای ما که پول نرم افزار نمی دیم گزینه مناسبی هست ولی اطلاعات انگلیسی در موردش تو اینترنت کمتره (پیدا کردن مثالهای متنوع تر مشکله).
سلام آقا فرزاد عزیزنقل قول:
به دوستان توصیه می کنم اگر دنبال کار جدی هستید، برید سراغ AVRStudio یا winAVR ، اگر هم به دنیال آسایش و امکانات هستید، اول Arduino، بعد codevision و بعد MikroC
میشه علت این مواردی که گفتید را توضیح بدهید ؟ منظورم اینه چرا AVRStudio و WinAVR را اول لیست آوردید مگر codevision چی کم داره یا AVRStudio چه مزیت های بهتری داره .
صرفاً منظورم با زبان C هست و اصلاً کاری به بیسیک و کارهای آماتور نداریم . جنبه ی حرفه ای و صنعتی کار منظورمه .
با توجه به تجربیات بنده، استفاده از AVR/Atmel Studio , winAVR (در واقع یه چیز هستند) نسبت به کدویژن این مزیت ها رو داره:
1.رایگان هست. این مورد برای ما ممکنه زیاد مهم نباشه ولی غیر مستقیم در سایر موارد تاثیر داره.
2.مثالها، پروژه ها و آموزشهای بسیار بیشتر برای این محیطها وجود داره که بدون تغییر حتی یک خط میشه به سادگی ازشون استفاده کرد.
3.کامپایلر GCC نسبت به کامپایلر های دیگه بیشتر روش کار شده و از نظر امکانات، بهینه بودن و قابل اطمینان بودن( باگ کمتر، خصوصا در بهینه سازی) نسبت به کامپایلر کدویژن برتری داره. البته مطمئن نیستم، شاید کدویژن هم از gcc استفاده میکنه(!؟).
4. آشنایی با GCC میتونه تو سایر زمینه ها هم کمکتون کنه، مثل کامپایلر های ARM و برنامه نویسی برای LINUX.
5. GCC کراس پلتفورم هست و میتونید هم توی ویندوز، هم تو مک و هم تو لینوکس ازش استفاده کنید (اینم باز ممکنه زیاد برای ما مهم نباشه)
6. استفاده از IDE های متنوع با قابلیت های مفیدی مثل اتو کامپلیت
7. کد نویسی به زبات C++ مثل محیط Arduino
8. آشتی با دیتا شیت! (کد ویزارد در عین مفید بودنش آدم رو بد عادت میکنه)
البته این رو هم بگم که من با کدویژن خصومتی ندارم و هنوز هم بعضی وقت ها برای تست سریع یک سخت افزار ازش استفاده میکنم ولی توکارهایی که حجم کد و تعداد کتابخونه های مورد نیاز بیشتر می شه ترجیه میدم از AVRStudio یا حتی Arduino (علی رقم ادیتور داغنوش) استفاده کنم.
کد ویژن رو بیشتر باید با MikroC مقایسه کرد، برای من خیلی سخته بگم کدومشون بهترن ولی مطمئنم اگه میکروسی رو امتحان کنید شما هم ازش خوشتون میاد.
با عرض سلام
میشه چند لنک اموزشی برای اتمل استودیو معرفی کنید
با تشکر
خیلی ممنون آقا فرزاد از توضیحات کاملتون
حتماً AVRStudio را تجربه خواهم کرد .
فقط یه سوال تو اتمل استودیو
اگه بخوای بگی پایه 0 پرت دی چی باید بنویسی
شرمننده سوالم پچه گانست
کسی نیست کمکی به ما کنه
"کاری به بیسیک و کارهای آماتور نداریم"
گفتم بد نیست ی مطلبی عرض کنم ! دوست حرفه ای! که فکر میکنید همه چیز زبان برنامه نویسی هست! باید خدمتتون عرض کنم بسیاری از پروژه های صنعتی ( و البته حرفه ای ، بستگی به تعریف حرفه ای هم داره ولی ... )رو هم میشه با همون بیسیک و کامپایلر نه چندان عالی bascom یا ... انجام داد فقط فرد باید به توانایی ها و اطلاعات خودش اعتماد داشته باشه تا حرف من رو بپذیره!
البته قبول دارم سرعت کدهای اجرایی که توسط C نوشته میشه به نظر تا حدی بیشتر میرسه ...ولی نمی تونیم این موارد رو تنها ملاک خودمون از قضاوت راجب زبان های مختلف قرار بدیم ، از طرفی زبان برنامه نویسی وسیله است و خلاقیت برنامه نویس یک اصل !
موفق باشین
دوستان متاسفانه ایم بیسیک vb,...,qbasic بد درفته شاید این بخاطر وجود رقبایی برای این زبون و یا بخاطر احتی بیش از اندازش و....
ولی به هر حال به همه دوستان یاد گیری سی را پیشنهاد می کنم
کسی نیست مشکل مارا حل کند
دوست عزیز فکر کنم جواب مشکلت را توی تچزیه و تحلیل کد که خودت ایجاد کردی گرفته باشی
اولا که این طرز صحبت کردن اصلاً خوب نیست چه خوب بود این مطلب را خیلی بهتر می گفتید .
من قصدم توهین و بی احترامی به زبان بیسیک و شما و دوستانی که طرفدار پروپاقرص این زبان و کامپایلر هستند نبود . من خودم هم با همین بیسیک و کامپایلر شروع کردم و الان قصد ندارم اون را به باد انتقاد بگیرم .
اگر بخواهیم از اول شروع کنیم به یادگیری زبان برنامه نویسی برای میکرو دو گزینه عمده و شناخته شده روبروی ماست یکی زبان بیسیک که کامپایلر معروف Bascome را داره و یکی زبان C که کامپایلر های متعددی از جمله CodeVision داره .
خوب کار با بیسیک و بسکام خیلی ساده است که خیلی زود میشه اون را یاد گرفت و در مقابل زبان c مقداری مشکل و وقت بیشتری برای یادگیری نیاز داره .
در یک پروژه ، بسکام شما را زود به نتیجه می رسونه خوب این بد نیست اما دیگر درک کاملی از سخت افزار نخواهید داشت نمی دونید که دقیقاً چه اتفاقی در سخت افزار افتاده یا در حال افتادن است
وقتی به طرف پروژه های بزرگتر و صنعتی تری برید نیاز شدید پیدا می کنید که درک کاملی از ساختار سخت افزار مربوطه داشته باشید و دقیقا باید بدونید که چه اتفاقی باید بر سر سخت افزار بیاد .
در بسکام شما یه خطی می نویسید و جواب می گیرید اما هیچ موقع نمی توانید کاری که اتفاق افتاده را متوجه بشید .
شما هر چه قدر هم به خودتون و اطلاعاتتون اعتماد داشته باشید در عمل چیز دیگری را خواهید دید .
در انجام پروژه های بزرگ در بسکام شما اینقدر محدود می شوید که مجبور به مهاجرت از اون می شود هرچه قدر هم که به اون دلبسته باشید .
شما اگر از همون اول سختی های یادگیری زبان c را تحمل کنید برای انجام پروژه ، دیگر ساختار سخت افزار را درک می کنید می فهمید داره چه اتفاقی می افته . یعنی یادگیری سخت افزار با کدنویسی .
شما وقتی پا به دنیای C می گذارید وقعاً دیدتون نسبت به مسائل و حل آنها خیلی متفاوت و کاربردی تر میشه یه جورایی دیدتون را باز می کنه .
سوای از ناپایداری ها و کمبودهای کتابخانه ای ، حجم زیاد کد و سرعت کم اجرا که بیسیک و بسکام در انجام پروژه های بزرگ و صنعتی داره نظر شما به چند نکته ی دیگر هم جلب می کنم :
در برتری زبان C نسبت به Basic هیچ شکی نیست . زبان C یک زبان ساخت یافته است و Basic نه . (مزیت این را هم که حتماً می دونید)
اکثر نرم افزار های بزرگ دنیا با خانواده C نوشته شده حتی بزرگترین پروژه ها در سیستم های Embedded با خانواده ی C نوشته شده .
اساس سیستم عامل های بلا درنگ که در میکرو های 32 بیت استفاده از آنها نا گریز است توسط خانواده ی C نگارش می شود. و میکروهای ARM را که اصلا جای خود داره .
آیا می دانید نگاه معماری سخت افزار دنیا در زمان حال و آینده بر اساس زبان C است .
حالا من یک شخصی که اصلاً چیزی نمی دونم و کلمه ی حرفه ای و صنعتی را به اشتباه بکار بردم شما که تعریف دقیق و قشنگی از حرفه ای دارید برید از چند تا حرفه ای که می شناسید سوال کنید بگید کدوم بهتره ؟ با کدوم بهتر کار می کنند ؟
نمی دونم در چه مقطعی از تحصیلات و کار هستید اما مطمئناً از هر 10 نفر خبره و کاربلد که شما ازشون سوال کنید حداقل 8 نفر اونها زبان C را برای کارهای حرفه ای و صنعتی پیشنهاد می کنند .
شما اگر یه نگاهی به نظر سنجی همین تاپیک هم بکنید که چند نفری هم بیشتر رای ندادند که البته خود من هم هنوز رای ندادم متوجه این قضیه خواهید شد .
برتری زبان c نسبت به بیسیک یک حقیقت مسلم است که دیر یا زود خواهید پذیرفت .
امیدوارم اگر هنوز زبان c را شروع نکردید همین الان دست بکار شوید که بیشتر از این ضرر نکنید .
موفق باشید .
با عرض سلان
بارها کفتم و بازهم می گویم
کسی که می خواهد موفق باشد مجبور است هر دو را یاد گیرد
ممنون و معذرت خواهی اگه لحن صحبتم مناسب نبوده ، دانشجوی الکترونیک هستم و در کنار مباحث مختلفی که تدریس میکنم C++ هم جز مباحثی هست که تدریس دارم و کاملا درمورد ساخت یافتگی در سی نسبت به بیسیک با نظر شما موافقم ، معماری RISC با زبان c هماهنگ هست و بعد از اسمبلی تراشه های avr بهترین مدیریت و کارایی رو با سی دارن....تقریبا 2 سال پیش بود که واسه برنامه نویسی تراشه های Arm از کامپایلر keil و زبان سی استفاده میکردم کاملا بر قدرتش واقف شدم ، ولی خب تعصب رو زبان بیسیک باعث شد نسبت به اون پست واکنش نشون بدم :|
با حرف دوستمون SEZAR.co کاملا موافقم ، کسانی که در زمینه الکترونیک فعالیت دارند به نظر من علاوه بر بیسیک و سی در سیستم های Embedded باید برنامه نویسی سیستمی و کامپیوتر رو هم به خوبی بدونن
شما منبعی سراغ دارید