اطلاعیه

Collapse
No announcement yet.

چند sampile بسیار ابتدایی برای iar و at91sam7sxx

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

    چند sampile بسیار ابتدایی برای iar و at91sam7sxx

    سلام
    همیشه از یه جا باید شروع کرد :job:
    ندانستن عیب نیست ندانستن و نپرسیدن عیب است
    حتی یه نکته کوچولو هم واسه شروع خوبه :rolleyes:
    از دوستانی هم که واقعا دوست دارن یه چیزی یاد بگیرن جهت داغ کردن و ایجاد حرارت اگر چیز جدید یاد گرفتین فشار دادن کلید تشکر هیچ کس رو نکشته :mrgreen: هر کس فشار داد بلایی سرش اومد بیاد من خودم دیه میدم :mrgreen:
    از دوستانی که با iar کار کردن و تو رجیستری ها دستی دارن و میتونن باهاش کار کنن خواهشن دست ما رو هم بگیرن و یه چند تا برنامه ساده با comment بزارن
    مثلا فلاشر یا lcd یا پورت سریال یا ......
    علم چندانکه بيشتر خواني چون عمل در تو نيست ناداني

    #2
    پاسخ : چند sampile بسیار ابتدایی برای iar و at91sam7sxx

    سلام.
    خب بعد از دو روز ور رفتن با IAR برای شروع من این مطلب رو برای IAR نوشتم :
    طریقه دسترسی به رجیسترها در میکروهای (ATMEL (ARM در کامپایلر IAR
    از اینجا دانلود کنید :
    http://electrodigital.persiangig.com/ACCESS.pdf

    اگه سوالی بود بگید تا روش بحث کنیم. منم مبتدی هستم و هیچ چی بلد نیستم.

    توصیه : فایل atmel/ioat91sam7s64.h را با یک ادیتور خوب مثل Programmers Notepad باز کنید و چند بار زیر و رو کنید و دقیق بخونید و با قسمتهای مختلفش آشنا بشید که کلی تاثیر داره. چون تمامی رجیسترها رو و وظایفشون رو توضیح داده. حتی مقادیری که این رجیسترها می تونن به خودشون بگیرن رو گفته (در غالب دستور define#) و برای مقدار دادن به رجیسترها بجای اینکه مستقیم عدد بدیم می تونیم از این define# ها استفاده کنیم.
    توضیح رجیسترها در قسمت ساختار (Struct) مربوط به آن ماژولی که مربوط رجیستر مورد نظر است آمده است.

    مثلا برای ADC اینطوری اومده :

    typedef struct _AT91S_ADC {
    AT91_REG ADC_CR; // ADC Control Register
    AT91_REG ADC_MR; // ADC Mode Register
    AT91_REG Reserved0[2]; //
    AT91_REG ADC_CHER; // ADC Channel Enable Register
    AT91_REG ADC_CHDR; // ADC Channel Disable Register
    AT91_REG ADC_CHSR; // ADC Channel Status Register
    AT91_REG ADC_SR; // ADC Status Register
    AT91_REG ADC_LCDR; // ADC Last Converted Data Register
    AT91_REG ADC_IER; // ADC Interrupt Enable Register
    AT91_REG ADC_IDR; // ADC Interrupt Disable Register
    AT91_REG ADC_IMR; // ADC Interrupt Mask Register
    AT91_REG ADC_CDR0; // ADC Channel Data Register 0
    AT91_REG ADC_CDR1; // ADC Channel Data Register 1
    AT91_REG ADC_CDR2; // ADC Channel Data Register 2
    AT91_REG ADC_CDR3; // ADC Channel Data Register 3
    AT91_REG ADC_CDR4; // ADC Channel Data Register 4
    AT91_REG ADC_CDR5; // ADC Channel Data Register 5
    AT91_REG ADC_CDR6; // ADC Channel Data Register 6
    AT91_REG ADC_CDR7; // ADC Channel Data Register 7
    AT91_REG Reserved1[44]; //
    AT91_REG ADC_RPR; // Receive Pointer Register
    AT91_REG ADC_RCR; // Receive Counter Register
    AT91_REG ADC_TPR; // Transmit Pointer Register
    AT91_REG ADC_TCR; // Transmit Counter Register
    AT91_REG ADC_RNPR; // Receive Next Pointer Register
    AT91_REG ADC_RNCR; // Receive Next Counter Register
    AT91_REG ADC_TNPR; // Transmit Next Pointer Register
    AT91_REG ADC_TNCR; // Transmit Next Counter Register
    AT91_REG ADC_PTCR; // PDC Transfer Control Register
    AT91_REG ADC_PTSR; // PDC Transfer Status Register
    } AT91S_ADC , *AT91PS_ADC ;

    نامگذاری رجیسترها بسیار خوب صورت گرفته. بطوری که با وجود زیاد بودن رجیسترها در این میکروها نیاز چندانی به حفظ اسم رجیستر نیست. مثلا اگه رجیستر کنترل ADC رو لازم داشته باشیم اینطوری میشه :
    Control Register
    پس در نهایت میشه : ADC_CR

    همچنین باید بگم که دسترسی به رجیسترها برای تمامی کامپایلرها همینطور است. چون بقیه کامپایلرها از همین فایلهایی که ATMEL ارائه داده استفاده می کنند و چون قراره اینجا در مورد IAR بحث بشه اسمشو اینطوری گذاشتم.

    موفق باشید .

    دیدگاه


      #3
      پاسخ : چند sampile بسیار ابتدایی برای iar و at91sam7sxx

      برای خوندن و نوشتن روی پایه های میکرو چه دستورهایی باید به کار برد؟مثل pin و port تو codevision برای avr
      یه جایی شنیدم iar مثل codevision نیست و برای هر کاری که می خواهیم انجام بدیم باید دستی کارهای ریز را هم انجام بدهیم مثلا تو codevision با یک دستور adc می خواندیم و براحتی تایمر تعریف می کردیم و رو lcd نمایش می دادیم و...... همه کارها را wizard انجام می داد و نیاز به حفظ بودن رجیسترها نبود برای arm همچین IDE وجود نداره؟

      دیدگاه


        #4
        پاسخ : چند sampile بسیار ابتدایی برای iar و at91sam7sxx

        دقیقا همینطوره که دوستمون گفتن IAR دستورات کلی زبان C را دارد و برای کار با امکانات میکرو فقط رجیسترها در دسترس هستند شما باید خودتان توابع را بنویسید و آماده نگه دارید تا موقع نیاز استفاده کنید. من خودم به تازگی شروع به کار با این کامپایلر کردم. به مدت چند روز اصلا از برنامه های نمونه نوشته شده سر در نمی آوردم مخصوصا اینکه من اصلا تجربه ای در برنامه نویسی با زبان C نداشتم. ولی باید بگم که هیچ مشکلی نیست که حل نشود در ضمن این را بگم که طراحان آن هدفشان طرح یک معما نبوده بنابراین ما هم میتوانیم آنرا یاد بگیریم. فقط اولین بار خیلی سخت است.

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

        برای کار با این کامپایلر من تجربیاتی را بدست آوردم که خوب است بقیه هم بدانند.

        -----------------------------------------------------------------------------------

        1- شما باید با سخت افزار کاملا آشنا باشید (به خاطر اینکه با رجیسترها کار می کنید) بنابراین از دیتاشیت دور نشوید چون این تنها و بهتری منبع برای کارتان است
        2- اگر جایی مثالی را دیدید مثلا کار با پورتها که خوب و کامل کار می کند و شما قسمتی از آنرا نفهمیدید اصلا نگران نباشید هر وقت که خواستید با پورتها کار کنید این قسمت را عینا کپی و پیست کنید و نگران نباشید چون در آینده آن قسمت را هم خواهید فهمید
        3- سعی کنید برای هر قسمت یک هدر فایل بسازید تا در آینده از آن استفاده کنید.
        4- این نکته خیلی مهم است. برای شروع سعی نکنید که یک پروژه جدید ایجاد کنید چون یکسری تنظیمات در لابلای برنامه نهفته است که اگر شما آنها را ندانید احتمالا برنامه به درستی کار نمی کند. برای همین یک پروژه را که قبلا از کارکرد آن اطلاع دارید را باز کنید و آنطور که تمایل دارید تغییر دهید (نگران نباشید در آینده یاد می گیرید که چطور این تنظیمات را انجام دهید)5-
        5- سعی کنید گروهی کار کنید چون ریزه کاریها یکم زیاد است و نیاز به کار بیشتری دارد.
        --------------------------------------------------------------------

        در ضمن دوستان عزیز برای دسترسی به رجیسترها خود کامپایلر IAR یکسری هدر فایل دارد که نیاز به دانلود ندارد در دایرکتوری برنامه وجود دارد که آدرس آن را در زیر قرار داده ام این هدر فایلها علاوه فقط محدود به at91sam7s64 نیست بلکه ARM9 را هم دارد که می توانید از این دایرکتوری استفاده کنید.
        آدرس دایرکتوری:C:\Program Files\IAR Systems\Embedded Workbench 5.0 Evaluation\ARM\inc\Atmel

        -----------------------------------------------------------------------

        اگر دوستان علاقه مند باشند من یک پروژه آماده را قرار می دهم که بتوانید برای شروع از آن استفاده کنید.

        گروه Zillion

        دیدگاه


          #5
          پاسخ : چند sampile بسیار ابتدایی برای iar و at91sam7sxx

          دقیقا همینطوره که دوستمون گفتن IAR دستورات کلی زبان C را دارد و برای کار با امکانات میکرو فقط رجیسترها در دسترس هستند شما باید خودتان توابع را بنویسید و آماده نگه دارید تا موقع نیاز استفاده کنید. من خودم به تازگی شروع به کار با این کامپایلر کردم. به مدت چند روز اصلا از برنامه های نمونه نوشته شده سر در نمی آوردم مخصوصا اینکه من اصلا تجربه ای در برنامه نویسی با زبان C نداشتم. ولی باید بگم که هیچ مشکلی نیست که حل نشود در ضمن این را بگم که طراحان آن هدفشان طرح یک معما نبوده بنابراین ما هم میتوانیم آنرا یاد بگیریم. فقط اولین بار خیلی سخت است.

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

          برای کار با این کامپایلر من تجربیاتی را بدست آوردم که خوب است بقیه هم بدانند.

          -----------------------------------------------------------------------------------

          1- شما باید با سخت افزار کاملا آشنا باشید (به خاطر اینکه با رجیسترها کار می کنید) بنابراین از دیتاشیت دور نشوید چون این تنها و بهتری منبع برای کارتان است
          2- اگر جایی مثالی را دیدید مثلا کار با پورتها که خوب و کامل کار می کند و شما قسمتی از آنرا نفهمیدید اصلا نگران نباشید هر وقت که خواستید با پورتها کار کنید این قسمت را عینا کپی و پیست کنید و نگران نباشید چون در آینده آن قسمت را هم خواهید فهمید
          3- سعی کنید برای هر قسمت یک هدر فایل بسازید تا در آینده از آن استفاده کنید.
          4- این نکته خیلی مهم است. برای شروع سعی نکنید که یک پروژه جدید ایجاد کنید چون یکسری تنظیمات در لابلای برنامه نهفته است که اگر شما آنها را ندانید احتمالا برنامه به درستی کار نمی کند. برای همین یک پروژه را که قبلا از کارکرد آن اطلاع دارید را باز کنید و آنطور که تمایل دارید تغییر دهید (نگران نباشید در آینده یاد می گیرید که چطور این تنظیمات را انجام دهید)5-
          5- سعی کنید گروهی کار کنید چون ریزه کاریها یکم زیاد است و نیاز به کار بیشتری دارد.
          --------------------------------------------------------------------

          در ضمن دوستان عزیز برای دسترسی به رجیسترها خود کامپایلر IAR یکسری هدر فایل دارد که نیاز به دانلود ندارد در دایرکتوری برنامه وجود دارد که آدرس آن را در زیر قرار داده ام این هدر فایلها علاوه فقط محدود به at91sam7s64 نیست بلکه ARM9 را هم دارد که می توانید از این دایرکتوری استفاده کنید.
          آدرس دایرکتوری:C:\Program Files\IAR Systems\Embedded Workbench 5.0 Evaluation\ARM\inc\Atmel

          -----------------------------------------------------------------------

          اگر دوستان علاقه مند باشند من یک پروژه آماده را قرار می دهم که بتوانید برای شروع از آن استفاده کنید.

          گروه Zillion

          دیدگاه


            #6
            پاسخ : چند sampile بسیار ابتدایی برای iar و at91sam7sxx

            نوشته اصلی توسط syber_pro
            برای خوندن و نوشتن روی پایه های میکرو چه دستورهایی باید به کار برد؟مثل pin و port تو codevision برای avr
            یه جایی شنیدم iar مثل codevision نیست و برای هر کاری که می خواهیم انجام بدیم باید دستی کارهای ریز را هم انجام بدهیم مثلا تو codevision با یک دستور adc می خواندیم و براحتی تایمر تعریف می کردیم و رو lcd نمایش می دادیم و...... همه کارها را wizard انجام می داد و نیاز به حفظ بودن رجیسترها نبود برای arm همچین IDE وجود نداره؟
            سلام.
            خب در مورد IAR درست شنیدید. اما نباید چنین مقایسه اس رو بین کدویژن و IAR انجام بدید.
            دستور pin و port رو ولش کن.
            درسته که برای کار با میکروهای ARM (حالا تو هر کامپایلری) باید رجیسترها رو بلد باشید اما این به این معنی نیست که ادرس رجیسترها رو حفظ کنید و خیلی اطلاعات دیگه در موردش داشته باشید. یعنی ATMEL کاری کرده که نیازی به این کار نباشه و یه سری فایل هدر برای هر میکرو ردیف کرده که کامپایلرهای مختلف از این فایلها استفاده می کنند و ما هم حالشو می بریم!

            به عنوان مثال برای خوندن وضعیت پورت A (یعنی هر 32 بیتش) که میشه همون معادل دستور pin باید از این تابع استفاده کنید :
            AT91F_PIO_GetInput()
            این تابع یک ارگومان ورودی داره که ادرس یک رجیستره و با استفاده از ادرس اون رجیستر وضعیت جاری اون رجیستر رو برمی گردونه.
            که برای پورت A اینطوری میشه :
            AT91F_PIO_GetInput(AT91C_BASE_PIOA)

            این تابع اینطوری تعریف شده :

            //*----------------------------------------------------------------------------
            //* \fn AT91F_PIO_GetInput
            //* \brief Return PIO input value
            //*----------------------------------------------------------------------------
            __inline unsigned int AT91F_PIO_GetInput( // \return PIO input
            AT91PS_PIO pPio) // \arg pointer to a PIO controller
            {
            return pPio->PIO_PDSR;
            }

            همونطور که می بینید یه اشاره گر از نوع AT91PS_PIO تعریف شده که با استفاده از ساختار AT91S_PIO_ مقدار رجیستر PIO_PDSR که همان رجیستر وضعیت پین A هست رو برمی گردونه.

            اگه کدها رو اینجا برعکس می بینید اونا رو کپی کنید و تو Notepad نگاه کنید.

            البته این رجیستر تو میکرویی مثل AT91SAM7S64 فقط می تونه پورت A باشه. چون این میکرو فقط یک پورت 32 بیتی داره. یعنی تابع بالا رو فقط برای گرفتن وضعیت پورت A میتونید استفاده کنید و برای رجیسترهای دیگر توابع دیگری موجود است که در فایل lib_AT91SAM7S64.h قرار دارند.

            در پایان باید بگم حتما فایل lib_AT91SAM7S64.h رو دو سه بار زیر و رو کنید.
            تو این فایل نزدیک 1000 تا تابع کوچیک وجود داره که هر کدوم با گرفتم ادرس یک رجیستر، وضعیت جاری اون رجیستر رو برمی گردونند.
            موفق باشید.

            دیدگاه


              #7
              پاسخ : چند sampile بسیار ابتدایی برای iar و at91sam7sxx

              از دوست عزیزمون آقای syber_pro خیلی ممنونم. فقط من یک چند تا نکته به ذهنم رسید که به نظرم میتونه به بقیه کمک کنه.

              بهتره بالای برنامه قبل از خواندن حالت پین چند تا کار دیگر هم انجام بدیم.

              1- کلاک PIO را فعال کنیم. که با دستور AT91C_BASE_PMC->PMC_PCER = 1 << AT91C_ID_PIOA; انجام می شود
              2- پین مورد نظر را فعال کنیم برای این کار به صورت رویرو عمل می کنیم AT91C_BASE_PIOA->PIO_PER = (0x00000001);
              3- پایه مورد نظر را به صورت ورودی config کنیم برای این کار باید حالت خروجی را disable کنیم با این کار پورت تبدیل به ورودی میشود AT91C_BASE_PIOA->PIO_ODR = (0x00000001);
              دستور فوق پورت A0 را به صورت ورودی config می کند


              من یک پروژه در زیر قرار دادم که میتونه برای شروع برای دوستان عزیز مفید باشه.

              http://www.4shared.com/file/95320476/41f20c19/IO_online.html

              یادتان نرود که زکات علم آموختن آن است. وحید سلیمانزاده عضو گروه Zillion

              دیدگاه


                #8
                پاسخ : چند sampile بسیار ابتدایی برای iar و at91sam7sxx

                سلام.
                خب بله باید قبل از خوندن ورودیها یه سری کارها رو انجام داد. من که گفتم چیزی بلد نیستم . منظورم من این بود که می توان ار توابع استفاده کرد. بطور مثال توابع مورد نظر برای کارهایی که شما فرمودید :
                فعال کردن کلاک PIO با استفاده از تابع روبرو :
                AT91F_PMC_EnablePeriphClock(AT91PS_PMC pPMC,unsigned int periphIds)
                فعال کردن پین :
                AT91F_PIO_Enable(AT91PS_PIO pPio,unsigned int flag)
                disable کردن حالت خروجی پورت :
                AT91F_PIO_OutputDisable(AT91PS_PIO pPio,unsigned int flag)

                هر کدام از این توابع آرگومانهایی دارند که بهتر است تو فایلی که گفتم اونها رو بررسی کنید. باید دید که استفاده از این توابع راحتتر است یا خیر . خب بعضی مواقع استفاده از این توابع بهتر است :
                مثلا اینطوری می توان PIO را در حالت ورودی فعال کرد :
                برای اینکار باید به دو رجیستر PIO_ODR و PIO_PER مقدار داد. یا می توان از تابع زیر استفاده کرد :
                AT91F_PIO_CfgInput(AT91PS_PIO pPio,unsigned int inputEnable)
                خب استفاده از این راه (تابع) فکر کنم راحتتر از استفاده از مقدار دادن به دو رجیستر است .

                دیدگاه


                  #9
                  پاسخ : چند sampile بسیار ابتدایی برای iar و at91sam7sxx

                  من حس می کنم گیج شدم :cry2:آخه هنوز هیچی از arm بلد نیستم و نیاز به یک منبع آموزشی دارم که از اول همه چیزو در حد لزوم و سریع آموزش بده هیچ جا کتابخونه هاش کامل پیدا نمیشه که مثل کدویژن بشه راحت کد نوشت؟هنوز یک دیتا شیت درستی پیدا نکردم که اصلا ببینم کدوم پایه جاش کجاست.اون صفحه 7 فقط گفته کدوم پایه برا چیه اما اصلا شکل فقط دیاگرامه و با واقعیش فرق داره مثلا این پایه تست از کجای میکرو در اومده بیرون؟پایه چندمیشه؟

                  دیدگاه


                    #10
                    پاسخ : چند sampile بسیار ابتدایی برای iar و at91sam7sxx

                    سلام.
                    جناب syber_pro خب هممون نیاز به یه منبع اموزشی داریم که به قول شما از اول همه چیزو در حد لزوم و سریع آموزش بده، اما خب نیست.
                    البته دوستان هم تلاششون رو می کنن تا همه بتونیم یاد بگیریم.
                    منظورتون از " هیچ جا کتابخونه هاش کامل پیدا نمیشه که مثل کدویژن بشه راحت کد نوشت؟ " چیه ؟
                    IAR و KEIL که هر کدوم کلی کتابخونه دارن. منظور شما کتابخونه کار با ADC و بقیه امکانات میکرو هست ؟
                    آخه اصلا نباید با AVR و کدویژن مقایسه کنید.

                    در مورد اینکه هنوز نتونستید پایه ها رو ببینید باید بگم شما یه نرم افزار PCB رو کامپیوترتون نصب کنید و میکروی مورد نظر رو انتخاب کنید و به داخل صفحه شماتیک بیارید و پایه ها رو بررسی کنید. اگه بود Altium Designer در غیر اینصورت Eagle رو نصب کنید.
                    موفق باشید .

                    دیدگاه


                      #11
                      پاسخ : چند sampile بسیار ابتدایی برای iar و at91sam7sxx

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

                      دیدگاه


                        #12
                        پاسخ : چند sampile بسیار ابتدایی برای iar و at91sam7sxx

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

                        در مورد منبع هم باید به جرات بگم که نه فارسی هست و نه انگلیسی باید خودتون اینقدر کار کنید تا یاد بگیرید. راستی این را هم بگم که علت اینکه من دو روز طول کشید تا از مثالش سر در بیارم این بود که من تا اون لحظه اصلا با C کار نکرده بودم و مجبور بودم کلی بگردم تا بفهمم منظور برناه از کروشه باز و کروشه بسته و ... چیه. اگه شما قبلا با Cآ‌ کار کردین که کارتان راحت تر است.

                        مشکل اصلی این است که از IAR یه دیوار بلند ساختین که رفتن به آن طرف امکان ناپذیر مگر با کلی اطلاعات و تجهیزات .

                        من الان با IO و LCD و ADC و PIT (منظورم Periodic interval timer است) کار کردم. یکم سخت و زمان بر است مخصوصا که خیلی به زبان C آشنایی ندارم و برای اولین بار دارم کار میکنم.

                        دیدگاه


                          #13
                          پاسخ : چند sampile بسیار ابتدایی برای iar و at91sam7sxx

                          برنامه Power pack دقیقا چی کار می کنه؟

                          دیدگاه


                            #14
                            پاسخ : چند sampile بسیار ابتدایی برای iar و at91sam7sxx

                            برنامه Power pack مربوط به برنامه نویسی وایجاد درایور برای usbو غیره به وجود اومده
                            با اقای سلمان زاده مخالفم همون طور که تویه یه پست دیگه هم گفتم تمام دستورات اسامی رجیستر ها هستند که دستور هم نیست باید برای کارتون رجیستر رو پیدا کنید بعد مقدار دهی کنید منبع اصلی pdf های انگلیسی 700 صفحه ای هستند
                            دنبال منبع فارسی نباشید چون خط به خط این pdf ها نکته داره
                            از دوستانی که iar رو کرک کردن یه سوال دارم
                            من licence بدون محدودیت رو نصب کردم ولی موقع کامپایل error میده که active نشده چی کارش باید بکنم؟
                            ممنون

                            دیدگاه


                              #15
                              پاسخ : چند sampile بسیار ابتدایی برای iar و at91sam7sxx

                              نوشته اصلی توسط ali_a
                              برنامه Power pack مربوط به برنامه نویسی وایجاد درایور برای usbو غیره به وجود اومده
                              با اقای سلمان زاده مخالفم همون طور که تویه یه پست دیگه هم گفتم تمام دستورات اسامی رجیستر ها هستند که دستور هم نیست باید برای کارتون رجیستر رو پیدا کنید بعد مقدار دهی کنید منبع اصلی pdf های انگلیسی 700 صفحه ای هستند
                              دنبال منبع فارسی نباشید چون خط به خط این pdf ها نکته داره
                              از دوستانی که iar رو کرک کردن یه سوال دارم
                              من licence بدون محدودیت رو نصب کردم ولی موقع کامپایل error میده که active نشده چی کارش باید بکنم؟
                              ممنون
                              میشه اگر با iar کار کردین چند تا مثال و یه خورده توضیح ارایه بدین؟؟

                              من هم مشکل کرک رو داشتم و کرک رو دوباره دانلود کردم مشکلم حل شد امید وارم مشکل شکا هم با این کار حل بشه
                              علم چندانکه بيشتر خواني چون عمل در تو نيست ناداني

                              دیدگاه

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