اطلاعیه

Collapse
No announcement yet.

آموزش winavr و avrlib

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

    پاسخ : آموزش winavr و avrlib

    من با نحوهٔ کامپایل توی ویندوز زیاد آشنا نیستم،
    ی فایل نمونه ضمیمه کردم، با خط فرمان به مسیرش برو و make رو بزن تا کامپایل بشه.
    فایل های پیوست شده
    چگونه هوشمندانه بپرسیم

    دیدگاه


      پاسخ : آموزش winavr و avrlib

      سلام.یه چیزی خیلی وقته ذهنم رو مشغول کرده.
      فزق دو دستور زیر با هم چیه؟
      کد:
      PINA & (1<<2)
      PINA & = (1<<2)

      دیدگاه


        پاسخ : آموزش winavr و avrlib

        تیکه تیکه اش کنیم:

        یکی بفرم این هست:
        a op b
        این یک عبارت محاسباتی (و نه الزاما ریاضی) هست. پس یه چیزی حساب میشه. کجا ذخیره میشه؟ هیچ جا!

        دومی به فرم:
        a op = b
        که البته فرم خلاصه شده عبارت زیر هست:
        a = a op b

        و این یعنی عبارت a op b محاسبه میشه (که ممکنه ریاضی هم نباشه) ولی نتیجه در خود a (یا هر جایی) ذخیره میشه. لری اش میشه: a رو با b
        op کن. (ببخشید مجبور شدم این خط رو بشکنم. op بعد از b نمی اومد. ادیتور فارسیه دیگه!)

        حالا تفسیر نهایی:
        اولی داره برای این استفاده میشه که چک کنه آیا بیت 2 از PORTA ست شده؟
        اما دومی داره تمام بیت های PORTA رو غیر از بیت دومی صفر میکنه.

        دیدگاه


          پاسخ : آموزش winavr و avrlib

          آقا رضا جریان این ماسک کردن چیه ؟
          چجور میشه کاری کرد که از یه پورت 4 تاش ورودی ، 4 تاش خروجی باشه ؟یا مثلا اطلاعات فقط از 2 تا پورت ورداشته بشه ؟

          دیدگاه


            پاسخ : آموزش winavr و avrlib

            درست دوزاری نیفتاد. میشه یه کم بیشتر توضیح بدی؟

            دیدگاه


              پاسخ : آموزش winavr و avrlib

              منم همینجا دیدم!
              مثلا چجوری میشه از یه پورت فقط 2 تاش رو انتخاب کنیم ؟
              بگیم اگر این 2 تا یکی شون 1 شد فلان کار رو بکن ؟ ( همون or )
              یا مثلا تو برنامه ها دیدم که 4 تا بیت از یک پورت رو سوا می کنند و روش کار می کنند
              میگن ماسک (mask ) کردن پورت ها
              چجوریاست ؟
              کلا روش کار چجوریه ؟

              دیدگاه


                پاسخ : آموزش winavr و avrlib

                من یک مشکلی دارم و اون اینه که وقتی گزینه optimization روی گزینه ای غیر از -0.0 باشه بعد از کامپایل کردن و لود کردن فایل هگز در میکرو برنامه درست اجرا نمیشه!|| اما وقتی روی 0.0 هست برنامه در میکرو اجرا میشه!؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ :angry:

                دیدگاه


                  پاسخ : آموزش winavr و avrlib

                  اگر منظورتون -Os هست که من هم تازه دیدم. و اینکه دو سه روزی هست که به این مورد رسیدم که این WinAVR کذایی هم یه جورایی زیادی به خودش مغرور شده. مثلا من این چند روزه جون به جونش کردم که در حالت بهینه سازی s3 کد درستی تولید کنه یا بدتر از اون در حالت s0 کد تولید کنه. نشد که نشد. غیر از این نتونستم راضیش کنم که مثل نسخ قبلی از jumptable برای سوئیچ ها استفاده کنه. پشن داره که این حالت رو غیر فعال کنه. ولی پشنی نداره که فعالش کنه. مسخره هست. نسخ قبلی درست تر کار میکرد تا نسخه فعلی.
                  تازه یک کد پروژه ای که دارم روش کار میکنم در حالت بهینه سازی ماکزیمم 28 کیلو بایت کد تولید میکنه و در حالت بدون بهینه سازی 48 کیلو بایت. یعنی واقعا این قدر تولید کدش پرته؟
                  چون معمولا بهینه سازی رو غیر فعال میکنن که بتونن در trace کردن اجرای کد رو دنبال کنن. اگر قرار باشه یک سری بهینه سازی های پایه هم در حالت بدون بهینه سازی حذف بشه که این کامپایلر دیگه به چه دردی میخوره؟ تازه خوبه AVR مثل پنتیوم dual-pipeline نیست. وگرنه این WinAVR خودشو میکشت.

                  دیدگاه


                    پاسخ : آموزش winavr و avrlib

                    چرا این WINAVR اینجوریه :angry:

                    من یک برنامه رو تو کدویژن نوشتم و جواب گرفتم بعد برنامه را بردم تو winavr برنامه تا زمانیکه بدون استفاده از حالت optimize بود درست کار می کرد اما بعد از اضافه شدن حجم برنامه (بیشتر شدن از حافظه میکرو) مجبورم از حالت optimize استفاده کنم اما برنامه درست اجرا نمیشه :angry: :angry: :angry:

                    دیدگاه


                      پاسخ : آموزش winavr و avrlib

                      چرا خیلی وقته نسخه جدیدش نمیاد ؟
                      یعنی اینقدر به کمال سیده که احتیاجی به نسخه جدید نیست !

                      دیدگاه


                        پاسخ : آموزش winavr و avrlib

                        فکر نمیکنم. ممکنه یک سری این ایرادات موجود هم به port کردن روی avr برگرده و نه خودش. ضمنا ممکنه از دید مسئول این پروژه WinAVR تصحیحاتی که روی این gcc کذایی انجام میشه ربطی به avr نداشته باشه.

                        دیدگاه


                          پاسخ : آموزش winavr و avrlib

                          با سلام و خسته نباشید به دوستان
                          مشکلی که این تایپیک داره اینه که آموزش را از صفر شروع نکرده و مستقیم رفته سرغ برنامه نویسی
                          و این واسه آدمهای مثل من که اولین تجربه برنامه نویسی تو این محیط داره و از بیسکام به زور دل کنده امده طرف زبان سی یه کم گنگ هست

                          حالا سوال من
                          تو سیستم من هم win avar نصب هست و هم avrstudio
                          دوستان از avr gcc بحث میکنند که اون هم تو زیر شاخه های برنامه avr studio موجوده
                          یه آموزش کوچولو تو فروم بود که طریقه نوشتن یک برنامه را تو avrstudio آموزش می داد

                          حالا من موندم این winrar این وسط چی کار میکنه
                          چه جوری باید به avrstdio ربطش داد

                          برنامه را تو وین رار بنویسیم یا تو استدیو

                          در ضمن لینکی که واسه کتابخانه های winrarlib گذاشتین پاک شده

                          با تشکر
                          http://www.eca.ir/forum2/index.php?topic=10159.0

                          دیدگاه


                            پاسخ : آموزش winavr و avrlib

                            winrar یک برنامه فشرده سازیه.
                            winavr یک نسخه کامپایلر سی مبتنی بر gcc هست که برای avr تغییر داده شده.
                            avrstudio یک محیط شبیه سازی به همراه اسمبلر از شرکت اتمل هست.
                            وقتی شما winavr رو کنار AvrStudio نصب میکنین این AvrStudio این امکان رو پیدا میکنه که بتونه سورس های اسمبلی و C رو با استاندارد gcc کامپایل و دیباگ کنه.

                            ضمنا برای کتابخونه ها میتونین سراغ AvrLIB هم بگردین. روی گوگل براحتی گیر میاد.

                            دیدگاه


                              پاسخ : آموزش winavr و avrlib

                              در مورد اپتیمایز کردن و سویچهاش باید بگم که : یه برنامه رو داشتم با avrstudio دیباگ میآ‌کردم که اتفاق جالبی افتاد اونم اینکه از یه جای برنامه میپرید یه جای دیگه و یسری کد رو اونجا اجرا میآ‌کرد و برمیآ‌گشت سر جای اول. کمی که دقت کردم دیدم اهان یه قسمتی از کدها که شبیه به همه رو انگاری داره فاکتور میگیره و این باعث کم شدن حجم برنامه میشه. البته توی os اینطوری نیست و سرعت مهمتره برا همینم کد معمولن بزرگتر میشه. توی O3 هم چون هم سرعت و هم کد داره بهینه میشه ممکنه حجم بیشتری از میکرو رو بگیره.
                              اتفاق دیگهآ‌ای هم که خیلی پیش میاد از بین رفتن مقدار متغییرها داخل زیر برنامهآ‌ها هست که من با گذاشتن volatile اول تعریف متغییر اونو راه میآ‌ندازم ولی هنوز خودم توی چرا و چگونگی و مکان استفادهآ‌ش مشکل دارم

                              دیدگاه


                                پاسخ : آموزش winavr و avrlib - مهاجرت از codevision به winavr avr gcc

                                نوشته اصلی توسط behnam_kh2002
                                اینم سورس یه برنامه واسه lcd گرافیکی به همراه فایل پروتوسش!
                                با قابلیت نمایش عکس و تغییر فونت برای نوشتن

                                http://www.4shared.com/file/9nzWy1Bs/glcd1_pic.html
                                سلام خیلی ممنون به خاطر این برنامه خوبتون :applause:
                                اگه میشه برنامه ای که عکس رو تبدیل کردید به کد معرفی کنید . من چند تا برنامه دانلود کردم تا یه عکس دیگه رو به جای این عکس نمایش بده ولی نشد همش خطا میداد :angry:

                                دیدگاه

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