اطلاعیه

Collapse
No announcement yet.

کمک در مورد ایجاد تاخیر در کیل

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

    کمک در مورد ایجاد تاخیر در کیل

    سلام
    چجوری میشه بوسیله configuration wizard کیل و هدر delay.h یک ثانیه دقیق رو درست کرد؟
    من از هدر delay.h مجله pmm3 استفاده کردم ولی هر یک ثانیش شده 4 ثانیه!!
    کریستالم هم 18.432mhz هست که تو تنظیماتش هم همین مقدارو قرار دادم. برد eca هست.
    هرچی هم تو قسمت configuration wizard کیل pll divider یا pll multiplier رو کم و زیاد میکنم هیچ تغییری تو مقدار تاخیر ایجاد نمیشه!!
    مشکل از کجاست؟؟

    یه سوال دیگه:
    چرا تو این برنامه کلاک رو تقسیم بر 5 کرده؟ چون کیل به صورت دیفالت کلاک رو پنج برابر میکنه؟

    اینم هدرشه:

    کد:
    #ifndef _DELAY_INCLUDED_
    #define _DELAY_INCLUDED_
    //presentation variable
    unsigned long crystal=18432000; // for other crystal change 18432000
    unsigned long x;
    unsigned long y;
    
    //presentation subs ( we have three sub 1- delay_us 2- delay_ms 3- delay_s
    void delay_us(unsigned long a);
    void delay_ms(unsigned long b);
    void delay_s(unsigned long c);
    // sub delay_us 
    void delay_us(unsigned long a){
    do{
    unsigned long d=0;
    x=crystal/50000000;	 //
    for (d=0;d<x;d++);	 //start the VALUE off d is 0 , increase d , 
    //if d > x goto next line ,else (d<x) increase d
    y++;  // increase y 
    } while(y<a); //if y > a goto next line ,else (y<a) goto "do{"
    y=0;
    }
    //in mine program , you write "delay_s(4);" . in this Header "a" is 4 & do-while 
    //loop repeat 4 ---time = (x*5)/ crystal
    // sub delay_ms
    void delay_ms(unsigned long b){
    do{
    unsigned long e=0;
    x=crystal/5000;	
    for (e=0;e<x;e++);
    y++;
    } while(y<b);
    y=0;
    }
    // sub delay_s
    void delay_s(unsigned long c){
    do{
    unsigned long f=0;
    x=crystal/5;
    for (f=0;f<x;f++);
    y++;
    } while(y<c);
    y=0;
    }
    #endif
    
    ممنون

    #2
    پاسخ : کمک در مورد ایجاد تاخیر در کیل

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

    کد:
    To minimize the power required to start up the system, the main oscillator is disabled after reset
    and slow clock is selected.
    The software enables or disables the main oscillator so as to reduce power consumption by
    clearing the MOSCEN bit in the Main Oscillator Register (CKGR_MOR).
    تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
    داشتن عقله زيادتر از دیگر آدم ها است

    دیدگاه


      #3
      پاسخ : کمک در مورد ایجاد تاخیر در کیل

      سلام
      ببخشید سوالم رو اینجا مطرح میکنم .
      من برای ایجاد وقفه)delay( توی کیل مشکل دارم
      همش به delay.h گیر میده میگه تو لایبرری نیست
      مدت هاست نیستم

      دیدگاه


        #4
        پاسخ : کمک در مورد ایجاد تاخیر در کیل

        تایمر rtt و pit تو سری sam واسه ساختن زمان طراحی شده.
        آموزش و برنامه هم تو قسمت آموزش سایت www.armcenter.org هست.
        تو این آموزش از وقفه استفاده شده که بهترین حالت واسه ایجاد زمان هست. اگر تاخیر معمولی هم میخواید با یه حلقه for ساده میشه این کار رو کرد

        for(I=0; I<300000; I++);
        www. a r m c e n t e r. o r g

        دیدگاه


          #5
          پاسخ : کمک در مورد ایجاد تاخیر در کیل

          گفتم که منظورم همون delay بود
          مدت هاست نیستم

          دیدگاه


            #6
            پاسخ : کمک در مورد ایجاد تاخیر در کیل

            سلام شما با آرم کار کردید اگه کار کردید این مشکل چیه؟
            2.c(3): error: #5: cannot open source input file "delay.h": No such file or directory
            به delay.h گیر داده

            دیدگاه


              #7
              پاسخ : کمک در مورد ایجاد تاخیر در کیل

              منظور از این ارور این است که لایبرری delay.h موجود نیست.

              دیدگاه


                #8
                پاسخ : کمک در مورد ایجاد تاخیر در کیل

                بهتر خودت از تایمر استفاده کنی و دقیق بسازی سادس
                از جمله ی رفتگان این راه دراز
                باز آمده ای کو که به ما گوید راز
                هان بر سر این دو راهه از روی نیاز
                چیزی نگذاری که نمی آیی باز

                دیدگاه


                  #9
                  پاسخ : کمک در مورد ایجاد تاخیر در کیل

                  سلام
                  :smile:
                  اگه هنوز مشکلت حل نشده
                  این کار ها را انجام بده :
                  1. فایل delay.h را در پوشه SAM7X قرار بده
                  2. به جای عبارت
                  "delay.h"
                  از عبارت
                  <delay.h>
                  استفاده کن .

                  اگه حل نشد بگو ببینیم مشکل چیه.

                  (در ضمن اگه یک ثانیه دقیق می خوای راه حل بهتری هم هست .)

                  دیدگاه


                    #10
                    پاسخ : کمک در مورد ایجاد تاخیر در کیل

                    نوشته اصلی توسط reza javahery
                    سلام شما با آرم کار کردید اگه کار کردید این مشکل چیه؟
                    2.c(3): error: #5: cannot open source input file "delay.h": No such file or directory
                    به delay.h گیر داده
                    سلام
                    توی زبان سی اگه برای include کردن به جای <> از "" استفاده کنی باید هدر فایل کنار برنامه ای که مینویسی (فایل سی برنامه) قرار بگیره
                    پس باید delay.h رو کنار فایل سی برنامت کپی کنی تا این ارور رو نده
                    زندگی یعنی امید و حرکت
                    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
                    سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
                    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
                    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!

                    دیدگاه


                      #11
                      مشکل با delay برای ARM

                      با سلام خدمت دوستان و استادان گرامی
                      این عکس زیر یه برنامه ساده جهت خاموش و روشن کردن یک LED ساده هستش


                      وقتی که کامپایلش میکنم این پیغام خطا رو میده
                      هیدر delay رو هم در پوشه SAM7X کپی کردم ولی همچنان این خطا رو دارم
                      ضمنا وقتی که دستور LINE 9 رو از برنامه حذف میکنم، خطا برطرف میشه

                      با تشکر

                      دیدگاه


                        #12
                        پاسخ : کمک در مورد ایجاد تاخیر در کیل

                        با سلام :rolleyes:

                        امکان خطاها مختلفی وجود داره .

                        شما تو همین قسمت پایین ( build output ) بگرد .
                        همینطور که میبینی الان توی عکسی که گذاشتی توی خط اولش در مورد warning موجود توضیح داده .
                        چند خط برو بالاتر در مورد Error هم توضیح داده که میشه ازش نتیجه گرفت!!
                        اونو ببین و خطاش رو بذار ببینیم چی گفته !
                        :bye

                        دیدگاه


                          #13
                          پاسخ : کمک در مورد ایجاد تاخیر در کیل

                          نوشته اصلی توسط electron113
                          با سلام :rolleyes:

                          امکان خطاها مختلفی وجود داره .

                          شما تو همین قسمت پایین ( build output ) بگرد .
                          همینطور که میبینی الان توی عکسی که گذاشتی توی خط اولش در مورد warning موجود توضیح داده .
                          چند خط برو بالاتر در مورد Error هم توضیح داده که میشه ازش نتیجه گرفت!!
                          اونو ببین و خطاش رو بذار ببینیم چی گفته !
                          :bye
                          مرسی دوست عزیز نوشته :

                          delay.c(24): error: #35: #error directive: crystal value not define, define it by '#define crystal x'(x is crystal value in hertz)statement Before #include "delay.h"

                          #error crystal value not define, define it by '#define crystal x'(x is crystal value in hertz)statement Before #include "delay.h"

                          اینجا گفته که قبل فراخوانی کتابخانه DELAY مقدار کریستال رو تعریف کنید که تعریف شده ولی همچنان ایراد میگیره

                          استادان گرامی ---------> راهنمایی کنید :angry:

                          دیدگاه

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