اطلاعیه

Collapse
No announcement yet.

برنامه نویسی XMEGA با Bascom-AVR

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

    #91
    پاسخ : برنامه نویسی XMEGA با Bascom-AVR

    با سلام
    هر دو مورد رو تست کردو اما جواب نداد
    تقریبا هرچی دستور غیر فعال کردن اینتراپت بود هم تست کردم جواب نداد
    دیگر حالت های کاری اسیلاتور را چک کردم (داخلی و خارجی) تاثیری نداشت
    فقط استفاده از کلاک خارجی رو تست نکردم که فکر نمیکنم با این توصیفات اهمیتی داشته باشه
    لطفا اگر دوستان کسی برای xmega ها تونسته keypad رو راه انداری کنه خبر بده ممنون میشم البته با bascom

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

    دیدگاه


      #92
      پاسخ : برنامه نویسی XMEGA با Bascom-AVR

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

      دیدگاه


        #93
        پاسخ : برنامه نویسی XMEGA با Bascom-AVR

        با بیان مشکلات بصورت توصیفی نمی توان به دلیل مشکل پی برد و باید جزئیات کد خود را قرار دهید.
        اوژن: به معنای افکننده و شکست دهنده است
        دانایی، توانایی است-Knowledge is POWER
        برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
        وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
        قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
        اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
        ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

        دیدگاه


          #94
          پاسخ : برنامه نویسی XMEGA با Bascom-AVR

          سلام به همه
          صلوات
          با بیان مشکلات بصورت توصیفی نمی توان به دلیل مشکل پی برد و باید جزئیات کد خود را قرار دهید.
          بله حق باشماست
          در صفحه 6 این تایپیک و در پاسخ شماره 86 کد برنامه رو قرار داده بودم.
          همون کد رو دوباره میزارم:
          کد:
          $regfile = "xm128a3udef.dat"
          $crystal = 16000000
          $hwstack = 256
          $swstack = 256
          $framesize = 256
          '****************************  CONFIG_OSC
          Config Osc = Enabled , Pllosc = Disabled , Extosc = Enabled , _
          32khzosc = Enabled , 32mhzosc = Enabled , Range = 12mhz_16mhz , _
          32khzpowermode = Normal , Startup = Xtal_256clk
          '~~~~~~
          Config Sysclock = External , Prescalea = 1 , Prescalebc = 1_1
          '~~~~~~
          Stop Watchdog
          '~~~~~~
          Config Lcdpin = Pin , Db4 = Porte.2 , Db5 = Porte.3 , Db6 = Porte.4 , _
          Db7 = Porte.5 , E = Porte.1 , Rs = Porte.0
          Config Lcdbus = 4
          Config Lcd = 20 * 4
          '~~~~~~
          Config Kbd = Portd , Debounce = 50, Delay = 100
          '****************************  VARIBLES
          Dim Key1 As Byte
          Dim Key2 As Byte
          '****************************  MAIN
          Main:
          Do
          Cls
          Key1 = Getkbd()
          Lcd "key1=" ; Key1
          Key2 = Lookup(key1 , Read_key)
          Home L
          Lcd "key2=" ; Key2
          Waitms 500
          Loop
          '~~~~~~
          End
          '****************************  SUBRUTINS
          Read_key:
          Data 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16
          فکرنمیکنم برنامه مشکلی داشته باشه برای همین کم کم اعتبار bacom برایم زیر سوال دارد میرود اما باید چند سخت افزار دیگه و ic دیگه هم تست کنم تا مطمئن بشم مشکل از bascom هست.
          اگر چیز دیگه ای ه نیاز هست بفرمایید تا قرار بدم
          ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ*فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
          شهید دکتر مصطفی چمران
          اللهم صل علی محمد و ال محمد و عجل فرجهم
          ; C is not for children

          دیدگاه


            #95
            پاسخ : برنامه نویسی XMEGA با Bascom-AVR

            سلام
            من با بسکام 1.11.9.8 کار میکنم.برد آزمایشیم هم با xm64a3u بستم چند سوال
            1-ایا با کپی کردن فایل 64 در بسکام میشه این ای سی رو راه انداخت(خود نرم افزار ظاهرا 128 داره فقط)
            2-لطفا اگر کسی کد ks108 که کار میکنه روبزاره
            ممنون
            همه چیز – تمام غرور ها و انتظارات، تمام شکست ها و خجالت ها – با فرا رسیدن لحظه مرگ از بین خواهد رفت. به یاد داشتن مرگ باعث می شود بدانم که چیزی برای از دست دادن ندارم. پس دلیلی وجود ندارد که منتظر بمانم. (jobs)

            دیدگاه


              #96
              پاسخ : برنامه نویسی XMEGA با Bascom-AVR

              از نظر رجیستر ها در سری A بین سخت افزارهای مشترک بین شماره های 64A3 و 128A1 تطابق وجود دارد. اما به دلیل تفاوت هایی مثل سایز Sram و محل Stack و تفاوت احتمالی در عملکرد کامپایلر در هر شماره، نمی توان با اطمینان گفت که با همان فایل Header می توان برای شماره های دیگر جواب گرفت. در سری AU هم تفاوت هایی در رجیسترها وجود دارد که امکان عدم جواب گرفتن را بیشتر می کند. در مورد امکان اضافه کردن Header دیگر هم باید در عمل امتحان کنید.
              اوژن: به معنای افکننده و شکست دهنده است
              دانایی، توانایی است-Knowledge is POWER
              برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
              وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
              قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
              اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
              ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

              دیدگاه


                #97
                پاسخ : برنامه نویسی XMEGA با Bascom-AVR

                باسلام
                در اینکه بسکام کامپایلری بسیار قوی در کار با AVR هاست شکی نیست. در صورتی که شما انتظار زیادی از پردازنده در سرعت و محاسبات پیچیده نداشته باشید سریعترین راه برای برنامه نویسی که به کمترین وجه ممکن شما را درگیر جزییات میکند استفاده از همین بسکام است.
                با توجه به روی کار آمدن میکروکنترلرهای جدید Xmega مسلما باگ های زیادی در نرم افزار وجود دارد که باید برطرف شود البته نوع برنامه نویسی ، طراحی سخت افزار و... در یک پروژه مهمترین قسمت آن را شکل میدهد.
                در هر صورت در کار با Keypad بنده هم مشکل داشتم و اومدم یه تابع نوشتم که خودش این کارو انجام بده البته کد بهینه سازی نشده و فقط برای تست نوشته شده بود ولی کاملا جواب میداد.
                سوالی بود بفرمایید.
                کد:
                Function Kbd() As Byte
                Local Kbdval As Byte
                Config Porte.0 = Output
                Config Porte.1 = Output
                Config Porte.2 = Output
                Config Porte.3 = Output
                Config Pine.4 = Input
                Config Pine.5 = Input
                Config Pine.6 = Input
                Config Pine.7 = Input
                Porte_pin4ctrl = &B00_011_000
                Porte_pin5ctrl = &B00_011_000
                Porte_pin6ctrl = &B00_011_000
                Porte_pin7ctrl = &B00_011_000
                Kbdval = 16
                Porte.0 = 0
                Porte.1 = 1
                Porte.2 = 1
                Porte.3 = 1
                If Pine.4 = 0 Then Kbdval = 0
                If Pine.5 = 0 Then Kbdval = 1
                If Pine.6 = 0 Then Kbdval = 2
                If Pine.7 = 0 Then Kbdval = 3
                Porte.0 = 1
                Porte.1 = 0
                Porte.2 = 1
                Porte.3 = 1
                If Pine.4 = 0 Then Kbdval = 4
                If Pine.5 = 0 Then Kbdval = 5
                If Pine.6 = 0 Then Kbdval = 6
                If Pine.7 = 0 Then Kbdval = 7
                Porte.0 = 1
                Porte.1 = 1
                Porte.2 = 0
                Porte.3 = 1
                If Pine.4 = 0 Then Kbdval = 8
                If Pine.5 = 0 Then Kbdval = 9
                If Pine.6 = 0 Then Kbdval = 10
                If Pine.7 = 0 Then Kbdval = 11
                Porte.0 = 1
                Porte.1 = 1
                Porte.2 = 1
                Porte.3 = 0
                If Pine.4 = 0 Then Kbdval = 12
                If Pine.5 = 0 Then Kbdval = 13
                If Pine.6 = 0 Then Kbdval = 14
                If Pine.7 = 0 Then Kbdval = 15
                End Function
                الهم عجل لولیک الفرج

                فقط 313 نفر...

                دیدگاه


                  #98
                  پاسخ : برنامه نویسی XMEGA با Bascom-AVR

                  سلام به همه
                  صلوات
                  سلام مخصوص به جناب امیر حسام الفتی
                  از پست های شما تا به امروز من خیلی استفاده بردم
                  از شما ممنونم
                  بله همینطور هست که گفتین
                  من برای کارهای تجاری از Atmel Studio استفاده میکنم که نسخه 6.2 هم اومده
                  اما برام همین قسمت سوال بود که آیا کتابخونه keypad برای xmega باگ داره یا من اشتباه میکنم

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

                  دیدگاه


                    #99
                    چگونه تایمر رو در XMEGA میشه Stop یا Start کرد!

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

                    آقا من در بسکام دارم برای یک میکرو XMEGA64 برنامه می نویسم
                    تایمر صفر رو برنامه ریزی کردم که سر یک تایمی یک روتین وقفه رو اجرا کنه
                    حالا من بعضی وقتا می خوام تایمر از کار بیافته و یا زمانی که کاربر یک کلید رو
                    فشار داد تایمر دوباره شروع به کار کنه

                    در سری های غیر XMEGA اینکار رو با Start Timer0 و یا Stop Timer0 انجام می دادیم
                    ولی گویا در سری XMEGA پشتیبانی نمیشه

                    کاری که من الان دارم میکنم، اجازه وقفه دادن تایمر رو فعال یا غیر فعال می کنم که فکر میکنم کار درستی نیست
                    چون عملا تایمر در حال کار میمونه و فقط وقفه نمیده

                    در دیتاشیت نگاه کردم، گویا اون رجیستر Clock Prescale رو باید صفر کرد.

                    دوستان چه راهی رو پیشنهاد می کنن؟

                    تشکر پیشاپیش
                    شهریار
                    Circuit Designers Choose Different Horses For Different Courses!

                    دیدگاه


                      پاسخ : برنامه نویسی XMEGA با Bascom-AVR

                      مطابق توضیحات در Help بسکام، برای راه اندازی تایمر های XMEGA می توانید از START و نام تایمر مورد نظر استفاده کنید. مثلا: START TCC0
                      اما برای توقف تایمر در توضیحات نام تایمرهای XMEGA آورده نشده، اما به احتمال زیاد جواب می دهد. در صورتی که STOP از تایمرها پشتیبانی نکند، برای توقف آن می توانید رجیستر CTRLA تایمر را برابر صفر قرار دهید. مثلا: TCC0_CTRLA=0
                      اوژن: به معنای افکننده و شکست دهنده است
                      دانایی، توانایی است-Knowledge is POWER
                      برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                      وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                      قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                      اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                      ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                      دیدگاه


                        سوال درباره برنامه نویسی بسکام

                        سلام دوستان یک سوال درباره برنامه نویسی بابسکام داشتم اگه ممکنه راهنمایم کنید
                        دستور هایی مثل enable urxc وenable utxc و enable serial در چه مواردی استفاده میشوند؟

                        دیدگاه


                          پاسخ : سوال درباره برنامه نویسی بسکام

                          کسی میدونه فرق بین enable interrupts با disable چیه؟

                          دیدگاه


                            پاسخ : سوال درباره برنامه نویسی بسکام

                            یعنی هیچکی تو این جمع بلد نیست؟

                            دیدگاه


                              پاسخ : سوال درباره برنامه نویسی بسکام

                              من زیاد وارد نیشتم ولی فک کنم موقع استفاده از هر برنامه ای که در اون نیاز به وقفه دارین ابتدا باید با این دستور enable interrupts تمام وقفه هارو فعال کنی
                              وبعد در برنامه اون وقفه مورد نظر روهم فعال کنی
                              مثلا وقتی وقفه تایمر مورد نیاز باشه ابتدا باید بنویسی البته در اوایل برنامه enable interrupts وبعد در قسمت معرفی تایمر وقفه اون تایمر رو هم فعال کنی این یه قانون کلی به فول مهندس طراح عزیز enable interrupts فیوز اصلی همه وقفه هاست
                              اون یکی هم که برای غیر فعال کردن استفاده میشه مثلا تایمر یا وقفه یا ...
                              بعدا یه جمله قشنگ مینویسم

                              دیدگاه


                                پاسخ : سوال درباره برنامه نویسی بسکام

                                سلام .خیلی مفید بود .متشکر

                                دیدگاه

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