اطلاعیه

Collapse
No announcement yet.

کوچ کردن از کدویژن به AtmelStudio

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

    پاسخ : کوچ کردن از کدویژن به AtmelStudio

    سلام

    آیا میشه مانند مثال های زیر ، فایل های سرآیندی از یک پوشه فراخوانی بشه ؟ اون پوشه در کجا باید قرار بگیره ؟

    باتشکر .


    کد:
    #include "Utils/app_config.h"
    کد:
    #include "N11/N1100.h"

    دیدگاه


      پاسخ : کوچ کردن از کدویژن به AtmelStudio

      سلام خدمت دوستان گرامی
      من تازه شروع کردم با Atmel Studio برنامه نوشتن و مثال های زیادی رو کد کردم . اما یک مشکل خیلی عجیب گیر کردم .
      اول یک برنامه LED چشمک زن نوشتن برای ATMEGA16 بعد همون را برای ATMEGA32 نوشتن ولی کار نکرد.
      اینم برنامه:
      کد:
        DDRB = (1<<DDB0);
        while (1) //loop forever
        {
         PORTB = 0x01; //set pin 0 on port B high
         _delay_ms(500);
         PORTB = 0x00; //set pin 0 on port B low
         _delay_ms(500);
        }
      با هر دو ورژن Atmel Studio4 , Atmel Studio6 تست کردم ولی بازم جواب نمی دهد.

      در ادامه یک برنامه LCD2*16 نوشتم با ATMEGA16 جواب میده ولی با ATMEGA32 جواب نمی دهد !!!! :angry:

      چرا ؟ تنظیم خاصی باید انجام بدم ؟ یا کتابخانه جدیدی باید اضافه کنم ؟

      لطفا کمک کنید :cry2:
      خداوندا
      از بچگی به من آموختندهمه را دوست بدار حال که بزرگ شده ام و کسی را دوست می*دارم می گویند:
      فراموشش کن
      دکتر علی شریعتی

      دیدگاه


        پاسخ : کوچ کردن از کدویژن به AtmelStudio

        سلام
        در قسمت انتخاب میکرو ، میکرو رو به مگا 32 تغییر میدید ؟

        دیدگاه


          پاسخ : کوچ کردن از کدویژن به AtmelStudio

          نوشته اصلی توسط aseok
          سلام

          آیا میشه مانند مثال های زیر ، فایل های سرآیندی از یک پوشه فراخوانی بشه ؟ اون پوشه در کجا باید قرار بگیره ؟

          باتشکر .


          کد:
          #include "Utils/app_config.h"
          کد:
          #include "N11/N1100.h"
          بله. پوشه رو در کنار فایل main ایجاد کنید. در قسمت Solution Explorer روی گزینه Show All Files کلیک کنید. پوشه شما به صورت کمرنگ نمایش داده میشه . می تونید فایل c. رو با کلیک راست و انتخاب گزینه Include in project به پروژه ADD کنید. فایل h. هم به همین شکل که نشون دادید به پروژه include میشه.
          گاهی افرادی به موفقیت های بزرگ می رسند، تنها به این دلیل ساده که نمی دانند کاری که به آن دست زده اند بسیار دشوار، بلکه غیر ممکن است.

          دیدگاه


            پاسخ : کوچ کردن از کدویژن به AtmelStudio

            سلام.

            در مورد رجیستر های 16 بیتی مثلا TCNT1 در مگا64 آیا با خواندن TCNT1 کل رجیستر خوانده می شود یا حتما باید بایت با ارزش را شیفت داده و با بایت ک ارزش جمع کنیم و بعد آن را بخوانیم؟

            دیدگاه


              پاسخ : کوچ کردن از کدویژن به AtmelStudio

              با عرض معذرت یک سوال دیگه.

              آیا می توان پروژه ای را از اتمل استودیو 6 به avrstudio 4 برای دیباگ به وسیله jtagice منتقل کرد؟

              دیدگاه


                پاسخ : کوچ کردن از کدویژن به AtmelStudio

                در مورد رجیستر های 16 بیتی مثلا TCNT1 در مگا64 آیا با خواندن TCNT1 کل رجیستر خوانده می شود یا حتما باید بایت با ارزش را شیفت داده و با بایت ک ارزش جمع کنیم و بعد آن را بخوانیم؟
                AVR می تونه با استفاده از دستورالعمل های اسمبلی IN , OUT به این رجیسترها دسترسی داشته باشه. از طرفی ازآنجا که دیتا باس AVR ، 8 بیتی هست، هسته CPU برای دسترسی به این رجیسترها به دوسیکل ماشین احتیاج داره . توجه کنید که یک اینتراپت میتونه در بین همین دو دستور اتفاق بیوفته، حالا اگه تابع اینتراپت به همین منابع یعنی رجیستر های 16 بیتی تایمر یک باشه برای جلوگیری از ، از دست رفتن اطلاعات مورد نظرمون در این رجیسترها باید برنامه مون طوری باشه که دسترسی به این رجیسترها به صورت اتمیک انجام بشه به عبارت دیگر باید عمل خواندن و نوشتن در این رجیستر ها اینتراپت ناپذیر باشه . تمام رجیسترهای I/O شانزده بیتی دارای یک رجیستر موقت برای دسترسی به 8 بیت بالای این رجیستر ها هستند، توجه کنید که یک تایمر 16 بیتی تنها دارای یک رجیستر موقت برای تمام 16 بیت رجیسترش هست.

                معمولا یک رجیستر 16 بیتی به صورت زیر خونده می شه :
                کد:
                Cycle 1: in r16, TCNT1L        ;Reading low byte into r16,this triggers the high
                ; byte to be latched in the temporary shadow
                ; register.
                Cycle 2: in r17, TCNT1H        ;Reading high byte from the temporary register.
                در مثال فوق اگه در بین دو دستور یک اینتراپپ حالا به هر دلیلی رخ بده و روتین تابع به هر کدام از بایت های رجیستر تایمر یک دسترسی داشته باشد این امکان وجود دارد که رچیستر موقت مقدار خودش را تغییر بده که این امر باعث می شه که CPU در زمان برگشت از وقفه مقدار اشتباه را در داخل R17 بارگزاری کنه.

                عمل نوشتن در رجیستر 16 بیتی تایمر 1 نیز به ترتیب زیر انجام میشه :

                کد:
                ;r17 contains the high byte while r16 contains
                ;the low byte that is to be written.
                Cycle 1: out TCNT1H, r17        ;Writing the high byte to the temporary register.
                Cycle 2: out TCNT1L, r16          ;Writing both the low byte and the temporary
                ;register into the I/O Register.
                توجه کنید که عمل خواندن و نوشتن در رجیستر 16 بیتی تایمر 1 در نحوه دسترسی به بایت بالا و پایین با هم فرق می کنه که اگر این ترتیب معکوس بشه اطلاعاتی که در بایت بالا نوشته و یا خوانده می شه ناصحیح خواهد بود.

                البته این مسئله به تمامی رجیسترهای 16 بیتی AVR قابل تعمیم هست.

                دیدگاه


                  پاسخ : کوچ کردن از کدویژن به AtmelStudio

                  نوشته اصلی توسط sadeghmojtabaei
                  آیا می توان پروژه ای را از اتمل استودیو 6 به avrstudio 4 برای دیباگ به وسیله jtagice منتقل کرد؟
                  در Help اتمل استودیو نحوه انتقال و دیباگ کدهای نوشته شده از avr studio 4 آورده شده که برای این کار نوعی conversion انجام میشه که حتی ممکن هست با warningها یا Error هایی همراه باشه پس نتایج حاصل از عکس این حالت قابل اطمینان نیست.
                  گاهی افرادی به موفقیت های بزرگ می رسند، تنها به این دلیل ساده که نمی دانند کاری که به آن دست زده اند بسیار دشوار، بلکه غیر ممکن است.

                  دیدگاه


                    پاسخ : کوچ کردن از کدویژن به AtmelStudio

                    سلام.
                    وقتی دیباگ رو می زنم تا برنامه simulate بشه با این اررور مواجه میشم:
                    Debugging tool is not set,please correct the tool ,interface and clock for the current target
                    و بعد از اینکه تایید می کنم وارد صفحه تنظیمات پروژه میشم.و از قسمت اول simulator را انتخاب می کنم ولی بازم همون اررور را میده.

                    دیدگاه


                      پاسخ : کوچ کردن از کدویژن به AtmelStudio

                      نوشته اصلی توسط sadeghmojtabaei
                      سلام.
                      وقتی دیباگ رو می زنم تا برنامه simulate بشه با این اررور مواجه میشم:
                      Debugging tool is not set,please correct the tool ,interface and clock for the current target
                      و بعد از اینکه تایید می کنم وارد صفحه تنظیمات پروژه میشم.و از قسمت اول simulator را انتخاب می کنم ولی بازم همون اررور را میده.
                      دوست عزیز این شکل مشکلات تا به حال برای من پیش نیامده بنابراین راه حل خاصی ندارم. اما ممکن هست مشکل شما ناشی از قطع و وصل کردن دیباگر jtag باشه . شما از منوی view گزینه سوم (Available Atmel Tools) می تونید لیست ابزارهای متصل به نرم افزار رو مشاهده کنید که باید simulator در آن قرار داشته باشد. که اگر با اجرای مجدد نرم افزار مشکل حل نشد شاید با نصب مجدد حل بشه.
                      گاهی افرادی به موفقیت های بزرگ می رسند، تنها به این دلیل ساده که نمی دانند کاری که به آن دست زده اند بسیار دشوار، بلکه غیر ممکن است.

                      دیدگاه


                        پاسخ : کوچ کردن از کدویژن به AtmelStudio

                        نوشته اصلی توسط Hamed Gh
                        دوست عزیز این شکل مشکلات تا به حال برای من پیش نیامده بنابراین راه حل خاصی ندارم. اما ممکن هست مشکل شما ناشی از قطع و وصل کردن دیباگر jtag باشه . شما از منوی view گزینه سوم (Available Atmel Tools) می تونید لیست ابزارهای متصل به نرم افزار رو مشاهده کنید که باید simulator در آن قرار داشته باشد. که اگر با اجرای مجدد نرم افزار مشکل حل نشد شاید با نصب مجدد حل بشه.
                        شما با ورژن 6.1 کار می کنید؟

                        دیدگاه


                          پاسخ : کوچ کردن از کدویژن به AtmelStudio

                          درود توی atmel studio
                          alt+f7 رو بزنید و از سمت چپ tool رو بزنید. سپس از منوی آبشاری زیر select debugger/programmer گزینه ی simulator رو انتخاب کنید. ctrl+s و دوباره دیباگ رو شروع کنید.

                          دیدگاه


                            پاسخ : کوچ کردن از کدویژن به AtmelStudio

                            نوشته اصلی توسط sadeghmojtabaei
                            شما با ورژن 6.1 کار می کنید؟
                            بله
                            گاهی افرادی به موفقیت های بزرگ می رسند، تنها به این دلیل ساده که نمی دانند کاری که به آن دست زده اند بسیار دشوار، بلکه غیر ممکن است.

                            دیدگاه


                              پاسخ : کوچ کردن از کدویژن به AtmelStudio

                              نوشته اصلی توسط Hamed Gh
                              بله
                              مشکل حل شد.پروژه ای که روی آن کار می کردم روی اتمل استودیوی 6 ساخته شده بود.بعد از ساخت پروژه جدید و انتقال کد ها به آن به خوبی دیباگینگ انجام شد.
                              ممنون.

                              دیدگاه


                                پاسخ : کوچ کردن از کدویژن به AtmelStudio

                                سلام
                                ببخشید هنگام ایجاد پروژه جدید ، در صفحه مربوط به انتخاب زبان برنامه نویسی گرینه هایی مانند Keil MDK-ARM C executable project وجود داره ، کاربردشون چیه ؟

                                تشکر .

                                دیدگاه

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