اطلاعیه

Collapse
No announcement yet.

ساب روتین در آردوینو؟؟؟

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    ساب روتین در آردوینو؟؟؟

    سلام خدمت دوستان
    توی نرم افزار آردوینو چجوری از ساب روتین استفاده کنم؟؟؟
    مثل بسکام؟
    goto؟؟
    ممنون
    همیشه کامل توضیح بدهیم تا جواب کامل بگیریم.
    لطفا برای تشکر روی دکمه تشکر بزنید و بخاطر این پست نزنید که تایپیک شلوغ نشود
    تایپیک های من:
    حل تمام مشکلات atmega128a (eca.ir)
    آموزش کار با سایت (eca.ir)

    #2
    پاسخ : ساب روتین در آردوینو؟؟؟

    نوشته اصلی توسط electromohammad نمایش پست ها
    سلام خدمت دوستان
    توی نرم افزار آردوینو چجوری از ساب روتین استفاده کنم؟؟؟
    مثل بسکام؟
    goto؟؟
    ممنون
    سلام
    بهتره قبلش کمی زبان C وCPP تمرین کنید! توی زبان C چیزی تحت عنوان ساب روتین نداریم. توی C تابع (function) و در CPP هم تابع داریم هم متد (method) که شبیه به هم هستن. روش تعریف و فراخوانی تابع به شکل زیره:

    #include <stdio.h>


    int functionAdd(int a, int b);


    int main(void)
    {
    int a = 1;
    int b = 2;
    int c = functionAdd(a, b);


    return 1;
    }


    int functionAdd(int a, int b)
    {
    return a + b;
    }
    جدیدترین ویرایش توسط hossein.m98; ۱۴:۳۵ ۱۴۰۰/۰۴/۰۴.

    دیدگاه


      #3
      پاسخ : ساب روتین در آردوینو؟؟؟

      سلام خدمت دوستان
      واقعا ممنون
      آموزش خوب pdf سراغ دارین؟ برای c و cpp؟
      آخه من فیلمارو وقت نمی کنم ببینم و تجزیه تحلیل کنم.(فارغ از این که حجمش زیاده)
      من خودم سایت avr64 رو قسمت بیسیکشو کامل خوندم و از همونجا هم بیسیک رو یاد گرفتم. دیگه بقیه اش رو هم با HELP خود نرم افزار یاد گرفتم

      ممنون
      همیشه کامل توضیح بدهیم تا جواب کامل بگیریم.
      لطفا برای تشکر روی دکمه تشکر بزنید و بخاطر این پست نزنید که تایپیک شلوغ نشود
      تایپیک های من:
      حل تمام مشکلات atmega128a (eca.ir)
      آموزش کار با سایت (eca.ir)

      دیدگاه


        #4
        پاسخ : ساب روتین در آردوینو؟؟؟

        نوشته اصلی توسط electromohammad نمایش پست ها
        سلام خدمت دوستان
        واقعا ممنون
        آموزش خوب pdf سراغ دارین؟ برای c و cpp؟
        آخه من فیلمارو وقت نمی کنم ببینم و تجزیه تحلیل کنم.(فارغ از این که حجمش زیاده)
        من خودم سایت avr64 رو قسمت بیسیکشو کامل خوندم و از همونجا هم بیسیک رو یاد گرفتم. دیگه بقیه اش رو هم با HELP خود نرم افزار یاد گرفتم

        ممنون
        زبان سی فکر نمیکنم هلپ داشته باشه مثل بسکام. بهترین راه سرچ توی اینترنته. لزوما هم لازم به دیدن فیلم نیست و آموزش زبان سی به شکل متنی زیاده.

        دیدگاه


          #5
          پاسخ : ساب روتین در آردوینو؟؟؟

          نوشته اصلی توسط electromohammad نمایش پست ها
          سلام خدمت دوستان
          واقعا ممنون
          آموزش خوب pdf سراغ دارین؟ برای c و cpp؟
          آخه من فیلمارو وقت نمی کنم ببینم و تجزیه تحلیل کنم.(فارغ از این که حجمش زیاده)
          من خودم سایت avr64 رو قسمت بیسیکشو کامل خوندم و از همونجا هم بیسیک رو یاد گرفتم. دیگه بقیه اش رو هم با HELP خود نرم افزار یاد گرفتم

          ممنون
          با سلام و احترام
          میتونید از این لینک استفاده کنید

          موفق باشید.

          دیدگاه


            #6
            پاسخ : ساب روتین در آردوینو؟؟؟

            سلام خدمت دوستان
            ممنون
            ولی این انگلیسیه
            حوصله می خواد اونم خیلی
            ولی بازم ممنون
            همیشه کامل توضیح بدهیم تا جواب کامل بگیریم.
            لطفا برای تشکر روی دکمه تشکر بزنید و بخاطر این پست نزنید که تایپیک شلوغ نشود
            تایپیک های من:
            حل تمام مشکلات atmega128a (eca.ir)
            آموزش کار با سایت (eca.ir)

            دیدگاه


              #7
              پاسخ : ساب روتین در آردوینو؟؟؟

              نوشته اصلی توسط electromohammad نمایش پست ها
              سلام خدمت دوستان
              ممنون
              ولی این انگلیسیه
              حوصله می خواد اونم خیلی
              ولی بازم ممنون
              اینجوری که متنی باشه، pdf باشه، فارسی هم باشه سخت پیدا میشه. نهایت بشه کتاب جعفرنژاد و چندتای دیگه معرفی کنیم که اونا هم حجیم و در خیلی مواقع گنگ هستن!
              بهتره بیشتر وقت بذارید و توی دوره ای چیزی شرکت کنید یا از منابع انگلیسی استفاده کنید. شاید هم بگردید و سایت اینترنتی فارسی زبان مناسب پیدا کنید. در هر صورت این کار احتیاج به توجه و صرف زمان داره و نمیشه همه موارد رو با هم داشته باشه.
              شما برای شروع کار میکروکنترلرها با زبان C، احتیاج دارید مفاهیمی مثل ساختار های شرطی و حلقه ها، متغیر، رشته، آرایه و تابع رو حداقل بلد باشید. توی مرحله بعد باید پوینتر و استراکچر هم توی اولویت بذارید تا بتونید کار کنید. از اونجایی که آردوینو با زبان ++C کد نویسی میشه، لازمه به شئ گرایی هم نگاهی داشته باشید که اینم باز احتیاج به صرف زمان و حوصله داره. همه این موارد رو به صورت موضوعی هم به زبان فارسی میتونید تا حدی پیدا کنید.

              دیدگاه


                #8
                پاسخ : ساب روتین در آردوینو؟؟؟

                سلام خدمت دوستان
                ممنون
                اینکه من هم بیسیک یاد بگیرم هم سی هم سی پلاس پلاس هم آردوینو (در واقع همون سی پلاس پلاس) این کار درستیه؟؟؟
                بر فرض من تواناییشو داشته باشم ولی به چند زبان آگاهی داشتن خوبه؟ یا باید کامل مسلط شد؟؟ و به چه حدی می گن مسلط شدن؟؟؟
                ببخشید سوالام زیاد از بحث خارجه ولی من یکم سردرگمم. بدون استاد یاد می گیرم.
                اگه استاد بگیرم کارم راه می افته؟ یا میشه بدون استاد هم پیش رفت؟؟
                ممنون بابت وقتی که برام می ذارین.
                همیشه کامل توضیح بدهیم تا جواب کامل بگیریم.
                لطفا برای تشکر روی دکمه تشکر بزنید و بخاطر این پست نزنید که تایپیک شلوغ نشود
                تایپیک های من:
                حل تمام مشکلات atmega128a (eca.ir)
                آموزش کار با سایت (eca.ir)

                دیدگاه


                  #9
                  پاسخ : ساب روتین در آردوینو؟؟؟

                  نوشته اصلی توسط electromohammad نمایش پست ها
                  سلام خدمت دوستان
                  ممنون
                  اینکه من هم بیسیک یاد بگیرم هم سی هم سی پلاس پلاس هم آردوینو (در واقع همون سی پلاس پلاس) این کار درستیه؟؟؟
                  بر فرض من تواناییشو داشته باشم ولی به چند زبان آگاهی داشتن خوبه؟ یا باید کامل مسلط شد؟؟ و به چه حدی می گن مسلط شدن؟؟؟
                  ببخشید سوالام زیاد از بحث خارجه ولی من یکم سردرگمم. بدون استاد یاد می گیرم.
                  اگه استاد بگیرم کارم راه می افته؟ یا میشه بدون استاد هم پیش رفت؟؟
                  ممنون بابت وقتی که برام می ذارین.
                  اشتباه ترین کارِ ممکنِ چند زبان رو با هم یادگرفتن! از من میشنوید اول از همه بسکام رو ببوسید بذارید کنار برای همیشه چون به شخصه مناسب کار سخت افزار نمیدونمش و از طرفی بیسیک هم تقریبا منسوخ شده.
                  اگر قصد کار حرفه ای دارید و نه ساخت کاردستی، سعی کنید اول کاری سمت آردوینو هم نرید؛ دیدم کسایی که با 4 تا کتابخونه آماده آردوینو و ماژول های توی بازار کارایی کردن و جو گرفتتشون ولی خوب به دلیل عدم تسلط واقعی بعدا به مشکل خوردن! نمیگم آردوینو به ذات بده؛ منظورم اینه تفکر اینجوری (خودم بهش میگم تفکر آردوینویی) که همه چیز بایدآماده دم دست باشه بده. از آردوینو گذشته، باز اگر میخوایید بهتر عمل کنید سمت کدویژن هم نرید که اول کاری به ویزارد عادت نکنید و درگیر کمپایلر و ادیتور مریضش نشید. (همه سخت افزارها ویزارد ندارن و به نظرم بهتره تجربه کار کردن سطح پایین رو همین اول کار با یه سخت افزار ساده مثل AVR داشته باشید)
                  این ها عقیده منه و شاید خیلیا باهاش موافق نباشن. خودمم تقریبا همین راه رو رفتم فقط اولش چند ماهی با کدویژن الکی وقتمو تلف کردم و خیلی مواقع فکر کردم من برنامه نویسی بلد نیستم ولی بعدا مشخص شده مشکل کدویژن بوده! البته همه اینا حاشیه کاره اما خوب بهتره که حواشی رو قبل از بزرگ شدن جدی بگیره که بعدا کمتر درگیرش بشید. صحبت آخر این که برنامه نویس بودن یک مفهومه، زبان برنامه نویسی بلد بودن یه چیز دیگه و مهم اولیه که سال ها طول میکشه توش حرفه ای شد...

                  دیدگاه


                    #10
                    پاسخ : ساب روتین در آردوینو؟؟؟

                    سلام خدمت دوستان
                    اگر بخوام با کامپایلر خود اتمل کار کنم (اتمل استودیو) براش منابعی هست که بتونه منو کمکک کنه؟ چقدر براش کتابخانه پیدا می شه؟
                    پ.ن: برای کتابخانه نویسی چجوری دیتاشیت رو باید خوند که اصل کاری رو پیدا کرد و براش تابع نوشت؟
                    خیلی ممنون
                    همیشه کامل توضیح بدهیم تا جواب کامل بگیریم.
                    لطفا برای تشکر روی دکمه تشکر بزنید و بخاطر این پست نزنید که تایپیک شلوغ نشود
                    تایپیک های من:
                    حل تمام مشکلات atmega128a (eca.ir)
                    آموزش کار با سایت (eca.ir)

                    دیدگاه


                      #11
                      پاسخ : ساب روتین در آردوینو؟؟؟

                      نوشته اصلی توسط electromohammad نمایش پست ها
                      سلام خدمت دوستان
                      اگر بخوام با کامپایلر خود اتمل کار کنم (اتمل استودیو) براش منابعی هست که بتونه منو کمکک کنه؟ چقدر براش کتابخانه پیدا می شه؟
                      پ.ن: برای کتابخانه نویسی چجوری دیتاشیت رو باید خوند که اصل کاری رو پیدا کرد و براش تابع نوشت؟
                      خیلی ممنون
                      ببینید Atmel Studio یک کمپایلر نیست؛ یک محیطه توسعه یا اصطلاحا IDE هستش که از کمپایلر avr-gcc استفاده میکنه. محیط توسعه فقط توی فرایند نوشتن کد کمی کمکتون میکنه اما در فرایند کمپایل همه کاره کمپایلر و متعلقاتش هستن. به خاطر همین کتابخونه های مورد استفاده با کمپایلر باید سازگار باشن (هرچند خیلی ها حتی با تجربه ها هنوز اینو نمیدونن و ممکنه فکر کنن کتابخونه باید با IDE سازگار باشه!). این کمپایلر avr-gcc در واقع پورت AVR برای کمپایلر مشهور gcc هستش که اونم اپن سورسه و نمیشه گفت به شخص یا شرکت خاصی برمیگرده (اگر اشتباه نکنم به بنیاد GNU مربوط میشه). خود Atmel Studio هم به نحوی الگو گیری شده از Visual Studio هستش که اونم محیط توسعه معروفیه. البته Visual Studio رایگان نیست ولی Atmel Studio رایگانه.
                      مواردی که تو بند بالا گفتم رو لزوما لازم نبود بدونید (حکم اطلاعات عمومی داره) ولی گفتمشون که به این برسم که در کل با محیط و کمپایلری رایگان طرفیم. همونطوری که میدونید تقریبا در تمام کشورهای درست حسابی قانون کپی رایت داریم، توی این کشورا اقبال عمومی جامعه مهندسی تاجای ممکن به سمت نرم افزارهای رایگانه چون نرم افزارهای تخصصی غیر رایگان به شکل وحشتناکی گرونن! به همین خاطر خارج از ایران تقریبا همه به خاطر قدرتمندی و رایگانیش از avr-gcc (در محیط Atmel Studio) استفاده میکنن و کسی کدویژن نمیشناسه، به دلایلی که گفتم کتابخونه چیزای دم دستی مثل LCD و اینا که توی کدویژن دارید راحت برای avr-gcc (یا همون Atmel Studio) پیدا میشه. برای منابع هم زبان اصلی نباید مشکلی باشه. فارسی هم اگر چیزی پیدا نشه مشکلی نیست. کلیتش با کدنویسی توی کدویژن فرق نداره فقط لازمه تفاوت ها رو بدونید و رعایت کنید (تفاوت ها جزئی هستن). پیشنهاد میکنم قبل از هر کاری اول مهارت زبان C تون رو به سطح مناسبی برسونید.

                      اما بحث شیرین کتابخونه نویسی. ببینید همونطوری که قبلا هم گفتم زبان برنامه نویسی (و کار با یک محیط مثل Atmel Studio) بلد بودن یک چیزه، برنامه نویس بودن یه چیز دیگه! قواعد کتابخونه نویسی برای C خیلی ساده هستن و با یه سرچ ساده پیداشون میکنید. اما این که چطوری برای رفع یک نیازی کتابخونه بنویسید، احتیاج به تمرین داره. باید بدونید که برای کار حرفه ای توی این حوزه لازمه بلد باشید کتابخونه نویسی کنید. من برای مثال زدن از تراشه DS1307 استفاده میکنم.
                      DS1307 یک تراشه زمان واقعی هستش که از طریق رابط I2C به میکروکنترلر متصل میشه. فرض کنید من میخوام براش کتابخونه بنویسم. تقریبا تمام موارد لازم برای راه اندازی اش، این که چجوری داده بهش برسونیم و چطوری باهاش ارتباط برقرار کنیم، توی دیتاشیتش هست. فقط لازمه من بدونم چطوری توی میکروکنترلرم رابط I2C رو راه بندازم، بعد بیام دیتاشیت رو بخونم و براش کد بنویسم. این که چطوری کدها رو توی قالب کتابخونه در بیارم، هنر منه. ممکنه من کتابخونه بنویسم که زمان رو با یک تابع بهم بده، تاریخ رو هم با یک تابع دیگه، یه نفر دیگه یه کتایخونه بنویسه که زمان و تاریخ رو با هم و با یک تابع توی برنامه برگردونه. اصول خوندن تاریخ و زمان از DS1307 یکیه اما این که چطوری پیادش کنم سلیقه ایه. سلیقه برنامه نویسی هم معمولا با مرور زمان و کسب تجربه عوض میشه. من خودم حتی کدهای پارسالمو که میبینم یجورایی حالم بهم میخوره!!!
                      ببخشید زیادی حرف زدم. امیدوارم با تمام زیاده گویی هام تونسته باشم منظورمو برسونم و کمکی کرده باشم

                      دیدگاه


                        #12
                        پاسخ : ساب روتین در آردوینو؟؟؟

                        سلام خدمت دوستان
                        خیلی ممنون
                        یعنی من اگه صرفا زبان C رو بخوام یاد بگیرم با کد های عادی همون میشه ببرای میکرو کنترلر هم برنامه رو نوشت؟ هیچی متفاوت نیست؟
                        یعنی اگه من برنامه میکرو رو بیام رو کامپیوتر اجرا کنم چجوری میشه؟ مثلا پایه ای رو بخواد 1 و 0 کنه ؟؟؟؟
                        آموزش استاد بازرگانی خوبه؟ یا از سایت فرا درس هم بگیرم راه اندازه؟
                        ممنون
                        همیشه کامل توضیح بدهیم تا جواب کامل بگیریم.
                        لطفا برای تشکر روی دکمه تشکر بزنید و بخاطر این پست نزنید که تایپیک شلوغ نشود
                        تایپیک های من:
                        حل تمام مشکلات atmega128a (eca.ir)
                        آموزش کار با سایت (eca.ir)

                        دیدگاه


                          #13
                          پاسخ : ساب روتین در آردوینو؟؟؟

                          نوشته اصلی توسط electromohammad نمایش پست ها
                          سلام خدمت دوستان
                          خیلی ممنون
                          یعنی من اگه صرفا زبان C رو بخوام یاد بگیرم با کد های عادی همون میشه ببرای میکرو کنترلر هم برنامه رو نوشت؟ هیچی متفاوت نیست؟
                          یعنی اگه من برنامه میکرو رو بیام رو کامپیوتر اجرا کنم چجوری میشه؟ مثلا پایه ای رو بخواد 1 و 0 کنه ؟؟؟؟
                          آموزش استاد بازرگانی خوبه؟ یا از سایت فرا درس هم بگیرم راه اندازه؟
                          ممنون
                          زبان C اسمش روشه، یک زبانه! فرض بگیرید شما فارسی بلدید؛ آیا اگر برید توی جمع یک عده پزشک که دارن در مورد مسئله ای تخصصی توی حوزه پزشکی، فارسی حرف میزنن، چیزی میفهمید؟ قطعا نه! اون پزشکا اگر بیان توی جمع ما که در مورد ولتاژ و جریان و این مسائل حرف میزنیم، چیزی میفهمن؟ باز جواب نه هستش! کد هایی که ما به زبان C مینویسیم مثل همین مثاله. کمپایلر مخصوص AVR کدهای نوشته شده برای x86 (همون CPU های کامپیوترها و لپتاپ هامون) رو نمیفهمه و برعکس!
                          توی بند بالا وقتی حرف از نفهمیدن کدها توسط کمپایلرهای طرف مقابل هستش، منظور اینه که کمپایلر x86 رجیتسرهای AVR رو نمیشناسه و خطا میده و کمپایلر AVR هم کتابخونه های مخصوص ویندوز و لینوکس رو نمیشناسه. تازه اگر هم کمپایلر x86، کدی که برای AVR نوشتیم رو خطا نده و درست کمپایل کنه، خروجی ای که تولید میکنه رو AVR نمیتونه اجرا کنه که اینا به تفاوت معماری این دو بر میگرده.
                          برای یاد گرفتن موارد پایه زبان C پیشنهاد میدم روی کامپیوتر برنامه نویسی و تمرین کنید که راحت تره. چیزی مثل حلقه و تابع و این مسائل همه جا یکیه و فرق نمیکنه کجا تمرین کنید! آموزش و دوره خاصی هم مد نظر ندارم، چون خودمم نه کلاسی شرکت کردم، نه دوره ای دیدم. صرفا با مطالعه و سرچ تو اینترنت کارم رو پیش بردم. هنوز هم جایی گیر کنم سرچ میکنم...

                          دیدگاه


                            #14
                            پاسخ : ساب روتین در آردوینو؟؟؟

                            سلام خدمت دوستان
                            ممنون از اینکه برام وقت گذاشتین
                            خیلی ممنون
                            همیشه کامل توضیح بدهیم تا جواب کامل بگیریم.
                            لطفا برای تشکر روی دکمه تشکر بزنید و بخاطر این پست نزنید که تایپیک شلوغ نشود
                            تایپیک های من:
                            حل تمام مشکلات atmega128a (eca.ir)
                            آموزش کار با سایت (eca.ir)

                            دیدگاه

                            لطفا صبر کنید...
                            X