اطلاعیه

Collapse
No announcement yet.

ساخت نرم افزار جهت پروگرم کردن میکرو

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

    ساخت نرم افزار جهت پروگرم کردن میکرو

    سلام
    من یه پروژه دارم به این ترتیب که دو بخش داره
    1- سخت افزار(برد + avr + سون سگمنت + تغذیه و ...) (در این قسمت مشکلی نیست و همه چیز به راحتی آماده میشه!)
    2- نرم افزار کامپیوتری (اصل داستان اینجاست!)
    قراره من یه نرم افزار پیاده کنم که بتونه کدهایی رو روی بخش سخت افزار بریزه. مثلا اگه دستور 1 رو پروگرم کردیم سون سگمنت ها هر یک ثانیه از پایین به بالا و اگه 2 رو پروگرم کردیم از بالا به پایین و اگه 3 رو پروگرم کردیم دو تا دوتا و ... بشمارن! تا اینجا چیز عجیبی نیست! میشه به راحتی با کد ویژن تمام این برنامه ها رو جدا گانه نوشت و روی میکرو پروگرم کرد(در این حد سواد دارم خودم)
    مشکل اینه که قراره محیطی پیاده سازی بشه که اون محیط دستور تایپ شده از کاربر رو بگیره و بعدش مطابق با اون برنامه رو روی میکرو بریزه. مثلا کاربر ممکنه دستور 1 (شمارش از کم به زیاد) یه delay_ms(10000) و بعدش دستور 2 (شمارش از زیاد به کم) رو پشت سر هم تایپ کنه و بگه می خوام برنامه برای یه مدتی از پایین به بالا بعد 10 ثانیه بدون تغییر بعد از بالا به پایین کار کنه و اینو بریزم!
    من نمی دونم باید از کجا شروع کنم؟ حتی نمی دونم باید چی سرچ کنم؟
    یه مثال روشن تر بزم: فرض کنیم یه ال ای دی بستیدبه یه پین میکرو! شما این پین رو صفر و یک می کنید و ال ای دی چشمک می زنه! توی آردینو اگه کار کرده باشید مثلا می نویسد digitalWrite(led, HIGH);و این خودش پایهled رو یک می کنه! در حقیقت کد شما آخرش تبدیل می شه به مثلا PORTA.3=1; تقریبا کار منم همینه! کاربر چندتا دستور محدود و مشخص داره ولی می تونه به هر نحوی ترکیبشون کنه! من باید کد معادلشون رو بدم به میکرو!
    پروژه در حد دانشجویی هست پس لطفا نگید باید کد اسمبلی معادل همه رو دربیارم یا مثلا باید تبدیل زبان کنم یا یه زبان جدید خلق () کنم یا هر چی...! باید با یه کلک و یا هر حقه ساده ای بشه انجامش داد!
    مرسی

    #2
    پاسخ : ساخت نرم افزار جهت پروگرم کردن میکرو

    درود ، چرا هربار پروگرم کنید ؟! شما یک برنامه جامع روی برد آپلود میکنید ، بعد با سریال ، یک سری مولفه ارسال میکنید که این مولفه ها ، خواسته های کاربر هست . مثلاً مولفه delay و هرچیز دیگه . حالا کاربر باید با پیروی از یک متد مشخص ، خواسته ها رو با سریال مانیتور ارسال کنه و باقی داستان ...

    دیدگاه


      #3
      پاسخ : ساخت نرم افزار جهت پروگرم کردن میکرو

      نوشته اصلی توسط Masood Ashoori نمایش پست ها
      درود ، چرا هربار پروگرم کنید ؟! شما یک برنامه جامع روی برد آپلود میکنید ، بعد با سریال ، یک سری مولفه ارسال میکنید که این مولفه ها ، خواسته های کاربر هست . مثلاً مولفه delay و هرچیز دیگه . حالا کاربر باید با پیروی از یک متد مشخص ، خواسته ها رو با سریال مانیتور ارسال کنه و باقی داستان ...
      ترتیب و تعداد و نوع دستوراتی که کاربر می تونه بنویسه خیلی زیاده ! نمی شه یه برنامه کلی نوشت که همه ی حالت ها رو شمال بشه! مثلا فرض کنید کلا سه تا دستور داریم. می تونه بنویسه 1 2 3 یا 3 2 1 یا 111 2 3 سا 3 33 2 111 یا ...؟
      من چقدر برنامه بنویسم که همه ی حالت ها رو پشتیبانی کنه؟
      این آردینو تقریبا با Avr کار می کنه! اون خودش چطوری عمل می کنه که با یه زبون نزدیک به C میشه برای میکرو براش برنامه نوشت؟ به نظرتون چاره ی کار من نیست؟

      دیدگاه


        #4
        پاسخ : ساخت نرم افزار جهت پروگرم کردن میکرو

        آردو یک پلتفرم هست که روی چیپ avr نصب میشه ، همه ide ها وظیفشون همینه که زبان سطح بالا رو به زبان ماشین کامپایل کنند ، جسارتا میشه تمام حالت ها رو ذکر کنید؟ یعنی کاربر چه گزینه هایی در دسترسش هست ؟
        اولین مولفه : ترتیب اجرا ی حالت ها
        دومین مولفه زمان delay هر حالت ؟
        و خود حالت ها ؟
        راهی که در ذهن شماست رو عملی نمی*دونم برای همین می*خوام گزینه های دیگه رو بررسی کنیم .

        دیدگاه


          #5
          پاسخ : ساخت نرم افزار جهت پروگرم کردن میکرو

          قطعا تعداد حالت ها نا مشخصه! ببینید من مثال هم زدم! اگه کلا سه تا دستور داشته باشیم با این سه تا کاربر می تونه هزار جور برنامه بنویسه!
          123
          321
          3332
          22221111
          32112332
          و ....
          اون آردینو که گفتم مثال بزرگی برای پروژه کوچک منه! میکروی آردینو همون avr خودمون هست. ولی کسی با کد ویژن براش کد نمی زنه! با یه زبان دیگه کد زده میشه و نهایتا پروگرم میشه رو میکرو! کسی هم از قبل تمام برنامه های ممکن برای آردینو رو ننوشته! بلکه هر کدی شما بزنی نهایتا یه جوری تبدیل به هگز میشه و می ره روی میکرو! منم دقیقا پروژه ام همینه ولی خیلی خیلی کوچک تر و محدود تر! قراره یه همچین نرم افزاری راه بندازم که کاربر چند تا کد خاص (تنوع و تعدادش محدوده ولی به کارگیری و استفاده اش نه!) رو بزنه. این کدها نهایاتا پروگرم بشن روی برد من!

          دلیل: ادغام دو پست برای جلوگیری از اسپم

          یه مثال بهتر به ذهنم رسید! این رباتهای پلتفرم آماده انسان نما (نائو) رو دیدید؟ همشون یه مشت سرو هستن! تا جایی که من می دونم شما برای تک تک این سرو موتور ها به تنهایی و مستقیم کدی نمی زنید! بلکه یه اینترفیس نرم افزاری دارید و اونجا کد می زنید. بعد بسته به کد شما مشخص می شه کدوم سرو باید چقدر بچرخه! من قراره همین کار رو برای یه برد ساده با یه میکرو ساده انجام بدم! همین

          دیدگاه

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