با سلام
به نظر شما یادگیری کدوم زیان بهتره؟ لطفا باذکر دلیل
با تشکر
با سلام
به نظر شما یادگیری کدوم زیان بهتره؟ لطفا باذکر دلیل
با تشکر
بعدا میفهمید که حتما باید زبان c رو یاد داشته باشید ولی لازم نیست که حتما بیسیک رو یاد بگیرید. پس کدویژن
پروژه های مهم من در ایران میکرو:
" انتقال اطلاعات با SIM900 " ، " آموزش پورت USB " ، " راه اندازی MFRC522 " ، " راه اندازی SLE4442 " ، ""
سلام
سی سی سی سی سی سی سی سی سی سی سی یسی سی سی سی سی سی سی سی سی سی
30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
cccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccccccc cccc
کفایت میکنه یا بازم بگم
موفق باشی...
*** اللّهم عجّل لولیک الفرج ***
اگر تازه واردی اول با بسکام شروع کن.چون دستورات سی برای تازه وارد ها تقریبا نا مفهومه. بعد از پیشرفت در بسکام کم کم سی رو یاد بگیر
Sent from my D6502 using Tapatalk
ا سلام
اول بگم که برای یادگیری استفاده از میکروکنترلر ها و دیدن بلافاصله نتیجه و عدم سروکله زدن با ریجستر ها و نوشتن برنامه های ساده مثلا برنامه نویسی یک چشمک زن ویا چیزی در این عیار هیچ زبان بیسیک خوب هست من هم به همین روش شروع کردم و در ادامه چون کارم را راه می انداخت نمی خواستم از آن دل بکنم ولی مشکل زمانی بوجود آمد که لازم شد مثلا :
1- آرایه های چند بعدی باید تعریف میکردم
2- نیاز به اشاره گرها داشتم تا در استفاده از Sram صرفه جویی کنم
3- از امکانات کامل ADC استفاده بکنم (مثل مود Free و مد تفاضلی)
4- لازم بود تا از کیبرد در پایه های ترکیبی از چند پورت و یا بیش از 16 کلید استفاده بکنم
و ......
و واقعا سخت بود تا من که همه پروژه هایم را با بیسکام انجام داده بودم از این نرم افزار دل بکنم ولی وقتی به سراغ ' C ' رفتم با این واقعیت بسیار تلخ روبرو شدم که من نه برنامه نویسی اصولی بلد نیستم نه میکرو را میشناسم ونه حتی قادرم یک ماژول که کتابخانه آن در بیسکام نباشد را ره اندازی بکنم
بطور خلاصه من هیچ کاری بلد نبودم اگر کتابخانه آن در بیسکام نباشد انجام بدهم !!!!!!!!!!
تازه اگر میخواستم تا با میکرکنترل های مثلا ARM کار بکنم چی !!!!!!!
لذا با توجه به تجربه بسیار تلخ من پیشنهاد میکنم همین الان حتی از همین ثانیه حتی به سراغ بیسکام نروید و هر چند در آغاز سخت است ولی سعی کنید با ' C ' برنامه نویسی را شروع بکنید تا با گوشت و پوست خود نحوه حرکت 1و 0 را در داخل ریجسترها و حافظه میکرو احساس کنید
ویرایش توسط Shapour_Ardebil : 29-08-2015 در ساعت 11:30
هموم بهتره با بسکام شروع کنی و بعد با سی آقا شاپور ممکنه خصوصیات اخلاقی متفاوتی داشته باشه ولی بهت پیشنهاد میکنم اول بسکام بعد کدویزن.
Sent from my D6502 using Tapatalk
با سلام
اگر من در شروع راهنمای دلسوزی داشتم که مرا درست راهنمایی میکرد تا من در عوض وقت گذاشتن برای یادگیری بیسکام همان زمان را برای 'c' میگذاشتم با پرش کردن گاه وبیگاه بین زبان های برنامه نویسی باعث عقب ماندگی در هر دو زبان نمیشدم ومیتوانستم به نتیجه دلخواه برسم
من به خاطر اینکه در اول تمام فکر خودم را روی بیسکام گذاشته بودم و همانطور که قبلا عرض کردم برای بدست آوردن کارایی کامل سه بار خواستم از بیسکام کوچ کنم هر بار یک مقدار از راه را رفتم و وقتی به مشکلی در انجام پروژه برخورد کردم که با سواد آن روز من نتوانستم با 'c' راه حلی برایش پیدا کنم به جای تحقیق دوباره رفتم سراغ بیسکام و همان شد که این پروسه ( کوچ کردن از بیسکام به سی) دو سال طول کشید ولی اگر یکباره تصمیم خودم را عملی میکردم با توجه به آشنایی مقدماتی من با برنامه نویسی اینکار حداکثر سه ماه طول میکشید
اگر بدنبال بیسکام بروید زمانی می رسد که شما حتما باید سی را یاد بگیرید در آن موقع است که حسرت روزهای از دست داده را خواهید داشت لابد عده ای خواهند گفت خوب من آنموقع سی را هم یاد میگیرم اینکار مثل این می ماند که کسی هم مقداری میکانیکی بلد است هم مقداری ارایشگری و هم کچ کاری ولی در هیچ یک از کارها حرفه ای نیست حتما شما کچکاری منزلتان را به میکانیکی که کچکاری بلد است نمی دهید ودنبال کچکاری میگردید که اینکاره باشد
سلام، اقای شاپور من تو کرج زندگی میکنم و هم مکانیک خوبی هستم (یک مغازه در کرج دارم) هم مهندس الکترونیک خوبی (طراحی مدارات و نقشه ها و pcb ها در شرکت نوآوران) و هم برنامه نویس خوبی به زبان c++ و ویژوال بیسیک هستم(برنامه نویسی درایور ها میکرو های avr) پس آقای شاپور اینو بدون انسانی که کاریرو بخاد انحام بده میتونه. من هم لیسانس الکترونیک دارم هم فوق دیپلم مکانیک پس کار نشد نداره.دوست من اول با بسکام کار کن بعد از مدتی دیدی که خودت میتونی برنامه بنویسی برو سراغ سی.
Sent from my D6502 using Tapatalk
همه کارهایی که در زبان C و Codevision انجام میدید، میشه همه اون کارها رو در Bascom هم انجام داد. مثلا داخل بسکام هم میشه رجیستر نویسی کرد. و قطعاتی که کتابخونش وجود نداره، خیلی راحتتر از C راه اندازی کرد.
چهار موردی که آقای Shapour_Ardebil به عنوان ضعف های Bascom معرفی کردند فقط مورد 1 درست است و بقیه موارد اشتباه هستش. و هیچکدوم از این ضعف ها در Bascom وجود نداره. مورد 1 هم میشه راحت با ایجاد دوتا آرایه یک بعدی حل کرد.
ببینید دوستان بهتره که خودتون رو درگیر برنامه نویسی نکنید. الکترونیک یعنی شناخت قطعات رو طراحی استاندارد PCB. حالا اینکه با C کدبنویسی یا با Basic، هیچ فرقی نداره. مهم اینه که کدی که مینویسی در عمل بخوبی کار کنه هیچ باگی نداشته باشه. همین
آقای سبحان بسیاری از رجیستر ها در زبان بیسیک وجود نداره.ایراد های در برنامه های سنگین در بسکام است.ممکنه شما چنین ایراد هایی رو ندیده باشید چون پروژه های سنگین نبستید.ما تو دانشگاه کامپیوتر ساختیم این کامپیوتر با زبان سی ساخته شد. بسیاری از ماژول های موجود در کامپیوتر رو نشد با بسکام بنویسیم.
اگر دوستان اندکی تعمل کنند زبان بیسیک دارای ارزش کمتر نسبت به زبان های سی و سی پلاس پلاس است.
اگر باز هم روی زبان بیسیک پافشاری میکنید من میتونم با ده ها مثال بهت ثابت کنم.
Sent from my D6502 using Tapatalk
به نظر من هم انتخاب زبان برنامه نویسی مهم است و کاملا به برنامه و هدف شما در آینده بستگی دارد. اگر صرفا از میکرو به عنوان یک ابزار استفاده میکنید و بسکام سریعترین روش است ولی اگر برای اهداف بزرگتری به سراغ میکرو رفته اید بهتر است با سی که یک زبان مهندسی است کار کنید. اما استفاده از سی به معنای عدم استفاده از بسکام نیست. در برخی موارد بسکام میتواند کمک بزرگی برای شما باشد. پس بهتر است که سی را هدف اصلی خود قرار دهید. و در کنار آن از بسکام استفاده کنید.(البته اگر از میکرو برای اهداف بلند مدت و بزرگتر می خواهید استفاده کنید)
بسکام یه کامپایلر/IDE هستش با زبان بیسیک و کدویژن یه کامپایلر/IDE با زبان C
نه فقط به از جنبه ظاهری بعنوان یه IDE، بلکه زبان استفاده ازشون هم فرق میکنه. زبان بیسیک خیلی راحت و ساده و سریع هستش بخاطر همین خیلی ها می پسندنش. ولی یادتون باشه کارتون چیه و چه انتظاری دارید از زبان مورد نظرتون. واقعا یه IDE مثل بسکام با زبان بیسیک واسه یه hobbyist (کسی که واسه سرگرمی توی دنیای الکترونیک هستش) یا دانش آموزش راهنمایی/دبیرستانی که بخواد یه ربات واسه شرکت توی مسابقات دانش آموزی بسازه خیلی عالی باشه ولی واسه یه امبددکار چی؟ آیا واقعا عالیه؟
با زبان C شما دسترسی خیلی عالی روی حافظه ها(هر آدرسی) و ریجسترهای پردازنده تون دارید. من با بسکام/بیسیک کد ننوشتم ولی آیا شما هم چنین قدرتی توی بیسیک/بسکام دیدید؟ مثلا به یه بیت دسترسی داشته باشید؟ یا چند بیت(نه بایت) از یه حافظه رو به صورت منظم در دسترس داشته باشید و ازشون استفاده کنید؟(مثل Bit field توی ساختارها توی C) یا یه آدرس خاص از حافظه رو مورد استفاده خاص قرار بدید؟ همچنین به یاد داشته باشید واسه تقریبا بسیاری از MPUها یا MCUها یه کامپایلر C هم هست. ولی بیسیک چطور؟ مثلا فرض کنید کارفرما یا رئیس شما میگه من می خوام محصولم از این میکروکنترلر استفاده کنه. مثلا STM8 های توی فروشگاه که هم قیمت مناسبی داره و هم امکانات خوبی داره. همچنین یادتون باشه واسه استخدام توی خیلی از شرکت ها(تقریبا همه شون) شما باید C بلد باشید. حالا چطور؟
البته این نوع سوال ها و تاپیک ها کار به جایی نمی رسونه! یادمه یوهان اکهال(JohanEkdahl) که یکی از دوستان/اساتید گل بنده هستش توی سایت فریکس این تاپیکو زد. من کاملا باهاش موافقم. حتی ترجمه این تاپیک روی توی ECA هم ایجاد کردم و به کی نزاد گفتم که پونزش کنه ولی دیدم زدش به این تاپیک. اینم از پستم:
لطفا نپرسید که "کدوم کامپایلر C بهتر است؟"!
ما نمی تونیم به شما پاسخ معنی دار و مفیدی بدیم. تنها چیزی که از این مباحثه ها خواهید فهمید این است که یه عده یه چیزایی میگن و یه عده قبول میکنن و اونایی که قبول نمیکنن اشتباه می کنن. این پدیده "جنگ کامپایلرها" نامیده می شود.
چرا هیچ پاسخی به این سوال که "کدام کامپایلر C بهتر است؟" وجود ندارد؟
1- شما ابتدا باید از تعریف کردن واژه "بهترین" شروع کنید. از چه جنبه ای یه کامپایلر بهتر است؟ سریع اجرا شدن؟ سریع تولید کردن کد؟ کد رو کوچیک تولید کردن؟ داشتن ساختار نحوی برای کار با AVR/embedded (مثلا باید شما یه چیزی شبیه این داشته باشین PORTB.3 = 1 بجای PORTB |= 1<<3; ) همین طور راجب حمایت از بخش های متفاوت AVR ؟ (مثلا چالش حافظه کوچیک، ابزارهای خیلی جدید، ابزارهای با حافظه"عظیم!")
2- آیا ما راجب کامپایلر شایسته و برتر صحبت میکنیم، یا آیا ما درباره راه حل IDE(محیط یکپارچه توسعه نرم افزار) صحبت میکنیم؟ آیا شما دلگرم به راه اندازی(تنظیم کردن) دستورالعمل های ساخت هستید؟ به عنوان مثال ساختن فایل، خودتون یا آیا شما یه IDE می خواید با ویزارد(جادورگر) و همچین چیزایی که کارتون رو راحتتر کنه؟ آیا شما یه تولید کننده کد اتوماتیک می خواید/نیاز دارید چونکه نمی خوایید هر چیزی از دیتا شیت رو توی ذهنتون بچپونید تا یه روتین وقفه یا تایمر رو فعال کنید؟
3- برای مقایسه معنی دار و با مفهوم از خروجی کامپایلر (کد تولید شده) ما باید یک برنامه واقع بینانه پورت شده به کامپایلرهای متفاوتی داشته باشیم. تست کردن یه برنامه کوچیک مسخره (مثل یک برنامه چشمک زن) نتایج معنی داری نخواهد داشت.
اگر شما یک جستجوی دقیق در فروم بکنید ممکن است توضیحاتی پیدا بکنید که یک کامپایلر یک رفتار خاص بسیار بد در یک وضعیت خاص از خود نشان میدهد. اگه اون وضعیت یک بخش حیاتی از برنامه شما است، یا چیزیه که AVR شما می خواد انجام بده پس اون کامپایلر رو انتخاب نکنید. شما البته ممکن است در یک جایی مواردی پیدا کنید که یه کامپایلر رفتار بهتری در یک وضعیت از خود نشان دهد نسبت به بقیه. اگر برنامه تون بیشتر می خواد توی اون وضعیت باشه با همه این تفاسیر اون کامپایلر رو انتخاب کنید. با وجود این، عموما هیچ کدوم از این موارد به شما بیشتر در مورد کیفیت کامپایلرها نخواهد گفت.
4- آیا شما در مورد قیمت صحبت می کنید؟ با احترام به چی؟ کیف پولتون؟ یا هر نکته ای که بالا گفته شد؟ آیا شما آماده اید تا پول پرداخت کنید واسه چیزی که در وقتتون صرفه جویی میکنه یا کیف پولتون خالیه و جاش می خواید وقتتون رو بذارید(واسه پروژه ها و کارهاتون)؟
همین طور که شما هیچ جواب عمومی درستی واسه این سوالتون نمی تونید پیدا کنید: "کدوم ماشین بهترینه؟" واسه این سوالتون هم نمی تونید جواب کلی و عمومی و درستی بگیرید= "کدوم کامپایلر C واسه AVR بهترینه؟". مثلا واسه ماشین: شما جواب های متفاوتی با توجه به خواسته هاتون خواهید گرفت. به همین ترتیب که واسه ماشین شما پاسخ های متفاوتی از مردم خواهید گرفت، برای کامپایلر هم همین موضوع برقرار است.(BMWها که عالی نیستن!)
آیا نمی تونم هر چیزی در مورد کامپایلرهای متفاوت بپرسم؟
بله، می تونید. اگه شما یه سوالی در مورد رفتار یه کامپایلر در موقعیت خاص دارید، جوابهای خوبی ممکنه بگیرید. (هر قدر هم که خواص باشه، شما دوباره یه جنگ دیگه شروع می کنید.)
اما من باید یه کامپایلر انتخاب کنم...
حداقل 3 کامپایلر وجود داره که یا مجانیه یا واقعا پول کمی می خواد که بخرینشون.
در انتها من شک دارم که شما یکی از دو دسته زیر نباشید:
شما یک توسعه دهنده حرفه ای سیستم های embedded هستید و می خواید واسه تولید هزاران واحد از یک محصول که تا آخرین سیکل/بایت از AVR استفاده کنید. در چنین حالتی شما باید منابعی داشته باشین تا باهاش توی خونه کامپایلرهای مختلفی رو ارزیابی کنید. رقبای شما نمی خواهند این کار را برای شما انجام بدهند و اگر شما یک بازرگان هستید که نمی تونید یک ارزیابی رضایت بخشی انجام دهید تا باهاش تجارت خود را انجام بدهید یا می تونید در قبال پرداخت مبلغی از یک نفر بخوایید تا اونو براتون انجام بدهد یا یکی خودتون بخرید و با عواقبش زندگی کنید.
شما به منظور سرگرمی می خواید یک یا چند نمونه از برنامه تون رو بسازید. در چنین حالتی شما احتمال خیلی زیاد یه سلسله ابزار می خوایید که کمکتون کنه و متناسب با شیوه عمل و کیف پولتون باشه. یه کامپایلر مجانی یا خیلی ارزون رو دانلود کنید و شروع به کار باهاش بکنید. اگه دوستش ندارید و فکر میکنید باهاش راحت نیستید، برید سراغ یکی دیگه. به صورت آزمایشی ازش استفاده کنید. هیچ چیزی مجانی نیست حتی برای سرگرمی.
--------------------------------------------------------------------------------------------------------------------------------------
خب، حالا می تونید برید و به کارتون بپردازید و یادتون باشه آتیش یه جنگ دیگه نباشید.
موفق باشید
ویرایش توسط rozeh : 29-08-2015 در ساعت 17:40
اگر برای ایندتون میخاید از برنامه نویسی استفاده کنید کدویژن بهترین
Sent from my D6502 using Tapatalk
منظور من هم زبان سی هست اما اگر به مضوع تایپیک نگاه کنید نوشته بسکام یا کدویژن پس من هم جواب ایشون رو طبق سوالشون دادم.
Sent from my D6502 using Tapatalk
بله، از این جهت حق با شماست که صاحب تاپیک پرسیده کدوم کامپایلر ولی من از این نوع سوال پرسیدنش مطمئنم که خبر نداره که این دوکامپایلر/ide ، زبانشون متفاوته و وقتی یکی از زبان ها رو بلد باشه دیگه ide زیاد مهم نیست. در واقع اصل مطلب زبان هستش نه کامپایلر/ide . البته دوباره میگم که اگه از اون جهت نگاه کنیم شما درست می فرمایید(منم حرف شما رو رد نکردم).
مثلا در lcd های کاراکتری :
در بسکام تنها 8 حرف دلخواه میتونید تولید کنید ( یا فارسی بنویسی) اما در کدویژن هرچقد بخای میتونی حرف دلخواه در lcd بنویسی.
مثلا در باگ ها:
متاسفانه کامپایلر بسکام دارای باگ های زیادیه اما کدویژن چنین باگ هایی نداره.
و....
Sent from my D6502 using Tapatalk