اطلاعیه

Collapse
No announcement yet.

ذکر چند مثال ساده که توشون از SLEEP استفاده کنیم؟

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

    #16
    پاسخ : ذکر چند مثال ساده که توشون از SLEEP استفاده کنیم؟

    سلام به همه
    توی کدی که گذاشتی اومدی توی وقفه توسط دستور #asm("sei&quot وقفه سراسری رو دوباره فعال کردی که گفتم بهتره این کار رو نکنی چون ممکنه باعث تولید وقفه های تو در تو بشه و باید اطلاعات کاملی به میکروی مورد استفادت و انجام مراحل کدات داشته باشی تا از این روش استفاده کنی
    به عنوان مثال اگر وقفه ای فعال بشه آدرس آخرین خط برنامه میرو تو حافظه استک حالا اگر قبل از برگشت از سابروتین اون وقفه دوباره وقفه ای رخ بده (بدلیل اینکه شما وقفه سراسری رو فعال کردین) باعث میشه آدرس این خط برنامه هم برو تو حافظه استک حالا اگر باز قبل از این که برگشت داده بشه دوباره اتفاقای قبل تکرار بشه حافظه استکت پر میشه و برنامه کلا خراب میشه
    پس بهتره که از روشی که جناب بیگدلی گفت استفاده کنین و شما یه پرچم با نام دلخواه برای خودتون تعریف کنین و بعد توی وقفه اون پرچم رو تغییرات لازم بدین و بعد از بیرون اومدن از وقفه توی تابع MAIN بخشی رو برای چک کردن اون پرچم بزارین و با توجه به پرچم اتفاقای لازم رخ بده
    این کار اصولی تر و مطمئن تره
    -------------------------------------------
    در مورد مولتی متر
    مولتی متر از حدود 15 تومن شروع میشه تا 500 هزار تومن و بالاتر
    این تفاوت قیمت یکیش دقت اندازه گیریه؟
    مال من 30 تومنیه مال شما؟
    برای همین زیاد سخت نگیر
    اما هر چه رنج مولتی متر در حالت پایین تری باشه دقتش بالاتره یعنی اگر روی 10 میلی آمپر باشه دقتش برای اندازه گرفتن 5 میلی آمپر دقیقتره تا مولتی متر رو بزاری روی 20 میلی آمپر
    ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ*فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
    شهید دکتر مصطفی چمران
    اللهم صل علی محمد و ال محمد و عجل فرجهم
    ; C is not for children

    دیدگاه


      #17
      پاسخ : ذکر چند مثال ساده که توشون از SLEEP استفاده کنیم؟

      نوشته اصلی توسط امیر حسین بیگدلی
      دوستان من بخوام AVR رو با C++ شروع کنم کدام کامپایلر بهتر هست؟ چرا atmel studio بهتره؟

      من دستورات اولیه C++ رو تا حدی خوبی بلدم. ولی AVR یه سری دستورات جدید داره که باید اون ها رو هم یاد بگیرم.

      بعضی ها کد ویژن - بعضی AVRgcc بعضی هم atmel studio. کدوم بهتره؟

      ___________________

      اگه واقعا به دنبال کم کردن جریان کشی هستین فقط و فقط مد powerdown به نظرم مناسبه.
      کلا ++C موقع کامپایل کردن کد هگز تولیدیت رو میبره بالا و فرقی هم توی نوع IDE نداره(کدویژن ، AVR-GCC ،ATMEL STUDIO و... کامپایلر به حساب نمیان و بلکه IDE هایی هستن که کامپایلر هم توی خودشون دارن)
      به عنوان مثال یه چراغ چشمک زن رو اگر با کدهای مشترک بین C و ++C بنویسین و فقط اون رو با دو فرمت C و ++C کامپایل کنین اگر خروجی C حدود 200 بایت بشه ، خروجی ++C حدود 4000 بایت میشه
      برای همین برای AVR هایی که حافظه کم دارن مناسب نیست
      (مثال:من یه پروژه دستمه که تا الان خروجی هگزش حدود 67KB شده یعنی توی یه mega64 هم جاش نمیشه و با زبان c نوشتم حالا اگر بخوام اون رو با ++c کامپایل کنم چی میشه!!!)

      توی بهتر بودن چند مورد مهمه:
      1- حجم خروجی هگز تولیدی (چون IDE ها با هم کمی تفاوت دارن و بعضی ها برای یه برنامه ثابت حجم خروجی متفاوتی تولید میکنن که هر چه کمتر باشه بهتره )
      2- باگ های کمتر (تقریبا تمامی IDE ها دارای باگ هستن )
      3- رایگان بودن
      4- اینترفیس
      5- منابع آموزشی
      6- پشتیبانی
      7- هسته کامپایلر
      --------------------
      کدویژن:کار باهاش خیلی راحته و کتابخونه های زیادی داره اما نسخه های کرک شدش دارای باگ های زیادی هست و اصول کار با رجیستر هارو تا حد زیادی خودش برامون انجام میده که این باعث میشه پیشرفتمون به شدت کند بشه
      ATMEL STUDIO:اینتر فیسی بهتر از این IDE در بین هیچ کدوم از IDE ها وجود نداره چرا که از ویژال استودیو استفاده کرده که خیلی از مهندسین برنامه نویس ویژوال استودیوی مایکروسافت رو جزء عجایب کامپیوتر میدونن و اتمل هم از ویژوال استودیو برای atmel studio 6 استفاده کرده
      رایگانه
      مرتب از طرف شرکتش رفع باگ میشه و به روز رسانی میشه
      کد هگز خروجیش مناسبه (از خیلی ide های دیگه کمتره)
      منبع آموزشیش نسبت به کدویژن خیلی کمتره
      از هسته GCC برای کامپایل استفاده میکنه اما کدویژن یه چیزه دیگه هست که اسمش رو یادم رفته
      GCC توی IDE IAR که برای تقریبا تمام میکرو ها از هر خانواده ای هست استفاده شده
      ------------------------
      IAR:
      فوق العاده هستش و تقریبا هیچ رقیبی نداره جز KEIL که البته بیشترین ضعفش در مقابل KEIL قیمت گرون IAR هستش
      تقریبا در تمامی شرکت های تولید کننده میکرو کنترلر چه AVR ، PIC ، ARM و... اول IAR بعد KEIL رو برای محصولاتشون پیشنهاد کردن (البته اگر خودشون هم IDE دارن اول مال خودشون رو پیشنهاد میدن مثل شرکت NXP و دوم اینکه IAR یا KEIL از محصولاتشون پشتیبانی بکنه که در این خصوص IAR تقریبا تمام محصولات میکرو کنترلری رو پشتیبانی میکنه)
      قیمت IAR حدود 16 میلیون تومن و KEIL حدود 12 میلیون تومنه البته نسخه های حرفه ای شون
      ----------------------------------
      من خودم به شخصه برای AVR و XMEGA اتمل استودیو رو پیشنهاد میدم (Atmel Studio 6 یا بالاتر)
      و اگر مشکل بودجه نباشه برای همشون IAR
      ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ*فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
      شهید دکتر مصطفی چمران
      اللهم صل علی محمد و ال محمد و عجل فرجهم
      ; C is not for children

      دیدگاه


        #18
        پاسخ : ذکر چند مثال ساده که توشون از SLEEP استفاده کنیم؟

        نظر شما راجع به Winavr چیه ؟
        و اینکه من میخوام شروع کنم که از کدویژن دل بکنم، البته نه به خاطر کتابخونه اش، چون من همه کتابخونه هامو خودم می نویسم و یا از کنابخونه های متن باز استفاده می کنم. به نظرتون با atmel stodio شروع کنم یا Iar ؟
        ---------
        .
        .
        ...........

        دیدگاه


          #19
          پاسخ : ذکر چند مثال ساده که توشون از SLEEP استفاده کنیم؟

          نوشته اصلی توسط Des_B
          نظر شما راجع به Winavr چیه ؟
          و اینکه من میخوام شروع کنم که از کدویژن دل بکنم، البته نه به خاطر کتابخونه اش، چون من همه کتابخونه هامو خودم می نویسم و یا از کنابخونه های متن باز استفاده می کنم. به نظرتون با atmel stodio شروع کنم یا Iar ؟
          زیاد توی نخ نوع ide و میکروکنترلر نباشین و بیشتر خودتون رو مشغول کد زدن و خوندن دیتیشیت کنین
          winavr رو زیاد کار نکردم از محیطش خوشم نیومد و اینکه به روز رسانی نمیشه(فکر کنم آخرین پدیتش مال سال 2010 هست)
          iar تقریبا در تمامی موارد مهم از atmel studio قدرتمندتره
          اما قراره که شما فردا با میکروکنترلرها چیکار کنین؟
          اگر میخواین پروژه برای دانشجوها بسازین بهترین کار خریدن نسخه حرفه ای کدویژن هستش چون به کارتون فوق العاده سرعت میده و میتونین پروژه های دانشجویی رو سریع بنویسین
          اگر قراره برای دل خودتون هر از گاهی دستگاهی بسازین باز یه نسخه خریداری شده کدویژن (نسخه حرفه ایش) کفایت میکنه فکر میکنم حدود 200 دلار هم بیشتر نباشه
          اگر هم میخواین پیشرفت کنین و دیستگاه های تجاری و صنعتی تولید و دست مردم بدین بسته به بودجتون داره
          اگر میتونین اول iar
          چون تقریبا تمامی میکرو های تولید شده در دنیارو ساپرت میکنه + توضیحاتی که قبلا دادم
          اگر بودجتون ضعیفتره برمیگرده که میخواین با چه میکرویی کار کنین :اگر میخواین با avr کار کنین من atmel studio رو پیشنهاد میدم با اینکه ide های زیاده دیگه ای چه پولی و چه رایگان موجوده و تنوعشون هم زیاده
          اما atmel studio برای کارهای صنعتی و تجاری و یا محصولاتی که قراره دست مردم بیفته و ازش استفاده کنن عالیه و قابلیت های زیادی هم داره
          اگر هم قراره برین سراغ arm و بودجتون به iar نمیرسه برین سراغ keil و اگر باز بودجتون نمیرسه برین سراغ coocox البته اگر با محصولات nxp میخواین کار کنین ide خود شرکت nxp هم خوبه (به نام lpcxpresso که فقط برای محصولات خودش خوبه مثل آرم های LPC)

          نکته:شما به بودجه امروزتون نگاه نکنین بلکه بودجه روزی رو بسنجین که میخواین پروژه صنعتی تحویل بدین
          نکته:نسخه حرفه ای KEIL این قابلیت رو داره که در صورت اومدن ورژن جدیدتر اون رو به ورژن جدید پدیت رایگان کنین اما هر چی توی اینترنت گشتم همچین موردی رو برای IAR ندیدم اگر کسی از دوستان از این مورد خبری داره به ما هم اطلاع بده ؟
          ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ*فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
          شهید دکتر مصطفی چمران
          اللهم صل علی محمد و ال محمد و عجل فرجهم
          ; C is not for children

          دیدگاه


            #20
            پاسخ : ذکر چند مثال ساده که توشون از SLEEP استفاده کنیم؟

            من LPC رو هم با کیل و تو همون سطح رجیستر کار کردم. یعنی از توابع CMSIS استفاده نکردم. البته یک سری جاها مثل USB دیگه از کتابخونه های آماده USB استفاده کردم.
            نکته ای که در مورد ARM هست اینه که باید به چند تا نکته توجه بشه:
            1- قراره کد برای چه کسی و به چه منظوری نوشته بشه. مثلا اکثر (شاید همه) جاها میخوان که پروژشون با keil نوشته بشه(منظورم پروژه دانشجویی نیست).
            2- وجود کتابخونه ها و مثال های آماده برای keil از IAR بیشتره. مثلا منابع فارسی که برای Keil خیلی بیشتره. کلا چون ARM اومده Keil رو خریده، به نظرم بیشتر روی keil مانور داده بشه بهتره.
            3- وجود کرک که برای هر دو تا آماده است.
            این از ARM.
            برای AVR : چون که با رجیسترها و البته دیتاشیت قطعات مختلف کار کردم، گیر کتابخونه های کدویژن نیستم. اینکه میخوام برم سمت یک نرم افزار دیگه، به خاطر اینه که کدویژن یک سری جاها منو بدجوری اذیت کرده.
            بین atmel stodio و IAR هم میخوام با یکی شروع کنم که بعدا ساپورتش از دست نره و البته البته کامپایلر قوی داشته باشه. چیزی که حجم کد رو خیلی بالا نبره.
            یک سوال از شما: آیا کتابخونه هایی که به زبان C نوشته شدند، روی همه کامپایلرها بدون مشکلات مسخره کار می کنند ؟
            مثلا من بخوام کتابخونه FAT برای Chan رو روی IAR استفاده کنم، مشکلی نخواهند داشت؟

            پ.ن. با توضیحات پست قبلیتون، فکر می کنم که شما برای AVR و البته همه میکروها، IAR رو پیشنهاد می کنید، درسته ؟
            ---------
            .
            .
            ...........

            دیدگاه


              #21
              پاسخ : ذکر چند مثال ساده که توشون از SLEEP استفاده کنیم؟

              1- کرک:
              شما وقتی یه نرم افزار موسیقی پلیر رو کرک میکنی به مشکل خاصی بر نمیخوری
              اما برای ide ها اینطور نیست و معمولا شرکت های سازنده میان جوری ide شون رو میسازن که هنگام کرک شدن یک سری باگ توشون بوجود میاد و برای همین به هیچ عنوان نباید از نسخه های کرک شده برای تولید انبوه ، تجاری و یا صنعتی و یا داستگاه هایی که حیاتی هستن استفاده بشه
              پس اینجا iar و keil رو اگر نمیتونین بخرین بهتره بیخیلشون بشین و از نسخه های رایگان استفاده کنین (این چیزیه که خریدار نمیفهمه اما وجدان خودمون و خدای خودمون میفهمه)
              ---------
              استفاده از توابع آماده کاره درستیه و این باعث میشه ما تمرکزمون رو روی اصول بزاریم
              ---------
              آموزش keil توی ایران بیشتره اما قدرتمندی iar رو هم نباید ازش صرف نظر کرد
              شما اگر iar رو بلد باشین فردا به سمت هر نوع میکروی دیگه ای pic و... بخواین برین از بابت ide مشکلی نخواهید داشت چون همگی رو ساپرت میکنه و کافیه که شما فقط برین دیتیشیت میکرو جدید رو بخونین و رجیستر هاش رو درست مقدار دهی کنین
              ----------
              کتابخونه هایی که من در موردشون صحبت میکنم کتابخونه هایی مثل lcd ها هستش که ربطی به بلد بودن دیتیشیت و رجیستر های میکرو نداره و توی اتمل استودیو شما برای راه اندازی یه lce کاراکتری 2در16 باید بشینین یه کتابخونه راه انداز براش بنویسین (البته کتابخونه های آمده توی اینترنت براش گیر میاد بابت مثال گفتم)
              ---------
              هر دو ide اتمل استودیو و iar دارای پشتیبانی قدرتمندی هستن و حالا حالاها ادامه داره (سنشون از بعضی ماها هم بیشتره)
              ---------
              هردو اتمل استودیو و iar خوبن چون یکیش قوی و رایگان و دیگری خیلی قوی و پولی هستش
              حجم کد تولیدی هر دو فکر میکنم در یه حدی هستش (این رو دقیقا اطلاع ندارم)
              ----------
              باید ببینی که کتابخونه مد نظر شما برای چه هسته ای نوشته شده در مجموع میشه گفت که ide های معروف امروز تنها از دو هسته استفاده میکنن یکیش GCC هست و دیگری رو یادم میاد
              اتمل استودیو و iar هر دو هستشون gcc هست (که این gcc بسیار قدرتمنده)
              و کدویژن از هسته دیگه ای که اسمش رو یادم نمیاد استفاده میکنه
              اگر کتابخونه مورد استفاده برای همون هسته نوشته شده باشه نیاز به تغییرات زیادی نداره و بیشتر باید از لحاظ زبان خاص برنامه نویسی تغییرش بدی که اون هم کار زیاد سختی نیست
              ----------
              اگر نسخه خریداری شده باشه بله
              اما اگر میخواین از کرک اسفاده کنین من Atmel Studio رو پیشنهادمیدم
              خودمم چون هنوز نتونستم پول خرید iar رو جور کونم دارم از atmle studio6.2 استفاده میکنم
              ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ*فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
              شهید دکتر مصطفی چمران
              اللهم صل علی محمد و ال محمد و عجل فرجهم
              ; C is not for children

              دیدگاه

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