اطلاعیه

Collapse
No announcement yet.

راه اندازی dsPIC30F4013

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

    راه اندازی dsPIC30F4013

    سلام به همگی

    من یه عمره دارم با CCS کد می زنم و مشکلی هم باهاش برنخوردم و تازه دارم dsPIC رو با 30F4013 شروع می کنم اما هر کاری می کنم نمی تونم حتی باهاش یه LED روشن کنم.
    اینم کد ابتدایی و ساده ی من:

    [code=c]
    #include<30F4013.h>
    #FUSES NOWDT,HS,NOBROWNOUT,NOPROTECT,NODEBUG
    #use delay(clock=14745600)

    void main()
    {

    set_tris_b(0x0000);
    output_b(0xffff); //ON Pin in simulator

    set_tris_d(0x0000);
    output_d(0xffff); //ON Pin in simulator

    set_tris_a(0x0000);
    output_a(0xffff); //ON Pin in simulator

    set_tris_f(0x0000);
    output_f(0xffff); //ON Pin in simulator

    set_tris_c(0x0000);
    output_c(0xffff); //ON Pin in simulator

    while(true)
    {
    }

    }
    [/code]
    اگه کسی میتونه راهنمایی کنه
    ممنون

    #2
    پاسخ : راه اندازی dsPIC30F4013

    یه چی بنویس چشمک بزنه. اونجوری بهتر دیده میشه که کار میکنه یا نه.
    تغذیه رو بررسی کن. سیم کشی رو بررسی کن. دیتاشیت رو ببین و اتصالات لازم مثل خازن و مقاومت های طفیلی رو وصل کن.
    در ضمن موقع ارسال کد از دکمه کد استفاده کن که درست نمایش داده بشه.

    [code=c]#include <30F4013.h>
    #device *=16
    #fuses HS,NOWDT,NOPROTECT,NOBROWNOUT,NODEBUG
    #use delay(clock=20000000)

    void main()
    {
    set_tris_d(0x00);
    output_d(0x00);
    while(true)
    {
    output_high(pin_D0);
    delay_ms(1000);
    output_low(pin_D0);
    delay_ms(1000);
    }
    }[/code]

    دیدگاه


      #3
      پاسخ : راه اندازی dsPIC30F4013

      نوشته اصلی توسط freedom_truth
      یه چی بنویس چشمک بزنه. اونجوری بهتر دیده میشه که کار میکنه یا نه.
      تغذیه رو بررسی کن. سیم کشی رو بررسی کن. دیتاشیت رو ببین و اتصالات لازم مثل خازن و مقاومت های طفیلی رو وصل کن.
      در ضمن موقع ارسال کد از دکمه کد استفاده کن که درست نمایش داده بشه.

      [code=c]#include <30F4013.h>
      #device *=16
      #fuses HS,NOWDT,NOPROTECT,NOBROWNOUT,NODEBUG
      #use delay(clock=20000000)

      void main()
      {
      set_tris_d(0x00);
      output_d(0x00);
      while(true)
      {
      output_high(pin_D0);
      delay_ms(1000);
      output_low(pin_D0);
      delay_ms(1000);
      }
      }[/code]
      خیلی ممنون از راهنماییتون. مشکل حل شد با اضافه کردن فیوز بیت PR
      کد:
      #FUSES PR
      فقط اگه میشه در مورد خط دوم برنامتون یه توضیح میدید که چیکار میکنه؟ راستش تا حالا ندیده بودم!
      کد:
      #device *=16

      دیدگاه


        #4
        پاسخ : راه اندازی dsPIC30F4013

        نوشته اصلی توسط alirezatkh2
        فقط اگه میشه در مورد خط دوم برنامتون یه توضیح میدید که چیکار میکنه؟ راستش تا حالا ندیده بودم!
        کد:
        #device *=16
        هیچی اون اشتباهاً موقع کپی پیست از کدهای دیگه اونجا مونده. توی کامپایلر PCD (برای میکرو های 16 بیت) استفاده نمیشه.
        اون دستور برای استفاده از پوینتر های 16 بیت هست برای میکروهایی که بیشتر از یک بانک رم دارند.
        در کامپایلر های PCB,PCM,PCH استفاده میشه.
        در نسخه های قبل از 4 ، اگر میخاستید از بیشتر از 256 بایت رم استفاده کنید باید از پوینتر های 16 بیت استفاده می کردید.
        در نسخه های جدید کامپایلر، برای میکرو هایی که بیشتر از 256 بایت رم دارند بصورت پیشفرض فعاله و نیازی بهش نیست.

        دیدگاه


          #5
          پاسخ : راه اندازی dsPIC30F4013

          ممنون از نکات خوبتون

          من تو این چن روز خیلی با پریفرالاش ور رفتم اما جز پریفرال بیشتر و سرعت بیشتر چیز دیگه ای تو این dsPIC ندیدم . امکانات این میکروها بخصوص اون پردازش سیگنالش چی هس و چیجوری میشه ازش استفاده کرد؟ چه چیز خارق العاده ای دارن که این میکروها رو متمایز میکنه؟

          دیدگاه


            #6
            پاسخ : راه اندازی dsPIC30F4013

            همونطور که از نامشون پیداست این میکروها دو خاصیت میکروکنترلری و پردازش سیگنال رو همزمان برآورده میکنند، با توجه به اینکه این میکروها هذف اصلیشون کارهای پردازشی بوده قطعا کاربردهاشون هم بیشتر در محاسبات سنگین روی داده ها هست تا کاربردهای میکروکنترلری و 1جورایی کاربردهای خاص دارند اما با این وجود به صرف داشتن توانایی های خاص در برخی پروژه های میکروکنترلری هم بسیار قدرتمند هستند، در مورد اینکه کاربرد پردازش سیگنالشون چی هست بحث زیاد هستم اما به طور مختصر میتونید در لینک زیر ببنید:
            http://ww1.microchip.com/downloads/en/DeviceDoc/DS-70095K.pdf

            برای مقایسه دو میکروکنترلر 2 چیز هست که بررسیشون کمک زیادی میکنه، معماری میکروکنترلر و بررسی دستورالعمل هاش.
            از نظر معماری خوب اولین چیزی که مشخص هست اینه که معماری DSPIC ها 16 بیتی هست، حجم بیشتری از اطلاعات رو میتوانند در هر سیکل وارد کنند و مورد پردازش قرار دهند و پاسخ دهند، داشتن موتور DSP مجزا از CPU کمک میکنه که بعضی از محاسبات به طور موازی انجام شود، با نگاه کردن به لیست دستور العمل ها میبینید که در DSPIC ها دستوراتی هست که ضرب و تقسیم 16 بیتی و حتی تقسیمات 32 بیتی رو در یک یا دو سیکل ماشین به راحتی انجام میده در حالی که برای اینکار در سری 18 باید روتین های خاص نوشته بشه و کلی از زمان CPU تلف میشه، دسترسی ها و کلا انتقال داده ها خیلی قوی تر شده مخصوصا در عملیات محاسباتی، تفاوت قدرت پردازشی بر روی دسته ای از داده ها زمین تا آسمان هست.
            جدا از بحث پریفرال ها و سرعت بالا که طبیعتا در DSPIC ها باز هم رشد داشته موارد بالا باعث میشه که در کاربردهایی که پردازش های سنگین و مخصوصا محاسباتی وجود داره DSPIC ها به مراتب قوی تر عمل می کنند، چندین سال پیش شخصا با مواردی سر و کار داشتم که به وضوح این تفاوت را احساس کردم.
            با وجود همه اینها هرچیز به جای خود نیکوست، در خیلی کاربردهای میکروکنترلری همون سری 18 هم ممکن هست زیادی باشند، برای بسیاری از کارهای عمومی واقعا نیازی به DSPIC نیست، اما مواردی هست که واقعا میکروهای 8 بیتی جوابگوی پردازش و محاسبات در زمان محدود نیستند و استفاده از میکروهای 32 بیتی بدون داشتن موتور پردازش سیگنال هم به صرفه نیست و هم ممکن هست به خاطر محدودیت های دستورالعملی و معماریشون علیرغم 32 بیت بودن باز هم سرعت انجام محاسبات و پردازش داده ها به DSPICها نرسند!!
            پیشنهاد میکنم برای اطلاع بیشتر از اینکه در چه مواردی استفاده از DSPIC ها مناسب هست و در چه مواردی تفاوت چندانی نداره یک نگاه اجمالی به لیست دستورالعمل های دو خانواده و روش های ارتباطی و حافظه پشته و بردارهای وقفه و اولویت وقفه ها بندازید.
            از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
            هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
            اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
            اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
            شاد و موفق باشید

            دیدگاه


              #7
              پاسخ : راه اندازی dsPIC30F4013

              نوشته اصلی توسط Study
              همونطور که از نامشون پیداست این میکروها دو خاصیت میکروکنترلری و پردازش سیگنال رو همزمان برآورده میکنند، با توجه به اینکه این میکروها هذف اصلیشون کارهای پردازشی بوده قطعا کاربردهاشون هم بیشتر در محاسبات سنگین روی داده ها هست تا کاربردهای میکروکنترلری و 1جورایی کاربردهای خاص دارند اما با این وجود به صرف داشتن توانایی های خاص در برخی پروژه های میکروکنترلری هم بسیار قدرتمند هستند، در مورد اینکه کاربرد پردازش سیگنالشون چی هست بحث زیاد هستم اما به طور مختصر میتونید در لینک زیر ببنید:
              http://ww1.microchip.com/downloads/en/DeviceDoc/DS-70095K.pdf

              برای مقایسه دو میکروکنترلر 2 چیز هست که بررسیشون کمک زیادی میکنه، معماری میکروکنترلر و بررسی دستورالعمل هاش.
              از نظر معماری خوب اولین چیزی که مشخص هست اینه که معماری DSPIC ها 16 بیتی هست، حجم بیشتری از اطلاعات رو میتوانند در هر سیکل وارد کنند و مورد پردازش قرار دهند و پاسخ دهند، داشتن موتور DSP مجزا از CPU کمک میکنه که بعضی از محاسبات به طور موازی انجام شود، با نگاه کردن به لیست دستور العمل ها میبینید که در DSPIC ها دستوراتی هست که ضرب و تقسیم 16 بیتی و حتی تقسیمات 32 بیتی رو در یک یا دو سیکل ماشین به راحتی انجام میده در حالی که برای اینکار در سری 18 باید روتین های خاص نوشته بشه و کلی از زمان CPU تلف میشه، دسترسی ها و کلا انتقال داده ها خیلی قوی تر شده مخصوصا در عملیات محاسباتی، تفاوت قدرت پردازشی بر روی دسته ای از داده ها زمین تا آسمان هست.
              جدا از بحث پریفرال ها و سرعت بالا که طبیعتا در DSPIC ها باز هم رشد داشته موارد بالا باعث میشه که در کاربردهایی که پردازش های سنگین و مخصوصا محاسباتی وجود داره DSPIC ها به مراتب قوی تر عمل می کنند، چندین سال پیش شخصا با مواردی سر و کار داشتم که به وضوح این تفاوت را احساس کردم.
              با وجود همه اینها هرچیز به جای خود نیکوست، در خیلی کاربردهای میکروکنترلری همون سری 18 هم ممکن هست زیادی باشند، برای بسیاری از کارهای عمومی واقعا نیازی به DSPIC نیست، اما مواردی هست که واقعا میکروهای 8 بیتی جوابگوی پردازش و محاسبات در زمان محدود نیستند و استفاده از میکروهای 32 بیتی بدون داشتن موتور پردازش سیگنال هم به صرفه نیست و هم ممکن هست به خاطر محدودیت های دستورالعملی و معماریشون علیرغم 32 بیت بودن باز هم سرعت انجام محاسبات و پردازش داده ها به DSPICها نرسند!!
              پیشنهاد میکنم برای اطلاع بیشتر از اینکه در چه مواردی استفاده از DSPIC ها مناسب هست و در چه مواردی تفاوت چندانی نداره یک نگاه اجمالی به لیست دستورالعمل های دو خانواده و روش های ارتباطی و حافظه پشته و بردارهای وقفه و اولویت وقفه ها بندازید.
              نکات خوبی رو گفتید من تو این یکی دو روز اون فایل PDF رو خوندم ولی همش توضیحات بود و اینکه چه امکاناتی داره و کلا Text ....! برای کلیات خوب بود اما من نیاز به درک بیشتر دارم مثلا اینکه برا کار با قسمت پردازش سیگنالش باید دستور خاصی استفاده کنیم یا اینکه خودش اتوماتیک دستورات لازم رو با DSP انجام میده؟ برا استفاده از ضرب کنندش باید دستور خاصی استفاده کنیم یا اینکه از علامت * استفاده کنیم خودش میره سراغ DSP؟ اگه کسی چنتا مثال داره بزاره که درک بهتری از موضوع میده! تشکر

              دیدگاه


                #8
                پاسخ : راه اندازی dsPIC30F4013

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

                دیدگاه


                  #9
                  پاسخ : راه اندازی dsPIC30F4013

                  دوباره سلام . تو این مدت خیلی به این dsPIC ور رفتم ولی هنوز نتونستم خوب راه اندازیش کنم.

                  کد زیر رو به عنوان کد تست از یه الگوریتم محاسباتی زدم ولی نمیدونم چرا میکرو به دستور Printf که برا چاپ float هس میرسه ریست میشه! یعنی این دستور رو کامنت می کنم همه چی درست کار میکنه! در ضمن کامپایلر من CCS Ver5.012 هستش. در مورد میکروهای 8 بیتی تاحالا باهاش به مشکل برنخوردم اما تو این dsPIC ظاهرا باگ زیاد داره. اگه کسی کار کرده یا باهاش مشکلی خورده یا ورژن بهتری میشناسه بگه.

                  شدیدا پروژه پایان ترمم به این وابسته است. لطفا کمک کنید.

                  [code=c]
                  #include <30F4013.h>

                  #device adc=12 //Use ADC as 12 Bits

                  #include <stdlib.h> //Include Serial functions

                  #FUSES NOWDT //No Watch Dog Timer
                  #FUSES NOBROWNOUT //No brownout reset
                  #FUSES NOPROTECT //Code not protected from reading
                  #FUSES NODEBUG //No Debug mode for ICD

                  #FUSES HS2_PLL16//, PR_PLL //Primary Oscillator with PLL x16 Div /2 **

                  //Crystal: 14.745600 with PLLx16 /2 => 117964800 Hz
                  #use delay(clock=117964800)

                  #use fast_io (B)
                  #use fast_io (D)

                  #use rs232(UART1,baud=115200,parity=N,bits=8,stream=A)

                  signed int16 adc=0;
                  float e=0;
                  //-------------------------------------Timers Interrupts------------------------
                  #int_TIMER1
                  void TIMER1_isr(void)
                  {
                  output_high(PIN_D2);

                  set_adc_channel(0); //sets the next channel that should be read.
                  delay_us(10); //it is good for most applications
                  adc=read_adc(); //reads the value of the setted channel

                  puts("\r\r\r"
                  printf("adc:%Ld\r",adc);

                  e=1904-adc;

                  printf("e:%f\r",e);

                  output_low(PIN_D2);
                  }

                  void main()
                  {
                  set_tris_b(0xffff);
                  output_b(0x0000);

                  set_tris_d(0x0000);
                  output_d(0x0000);

                  setup_adc(ADC_CLOCK_DIV_16 | ADC_TAD_MUL_8);
                  setup_adc_ports(sAN0 | VSS_VDD);

                  setup_timer1(TMR_INTERNAL|TMR_DIV_BY_64,0xFFF); //8.88 ms

                  output_high(PIN_D2);
                  delay_ms(1000);
                  output_low(PIN_D2);

                  puts("Start\r"

                  enable_interrupts(INT_TIMER1);
                  enable_interrupts(INTR_GLOBAL);

                  while(TRUE)
                  {

                  }

                  }
                  [/code]

                  دیدگاه


                    #10
                    پاسخ : راه اندازی dsPIC30F4013

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


                    [code=c]
                    //Base and Refrence Code for dsPIC30f4013
                    //Tested in CCS ver 4.084
                    #include <30F4013.h>

                    #device adc=12 //Use ADC as 12 Bits

                    #include <stdlib.h> //Include Serial functions

                    #FUSES NOWDT //No Watch Dog Timer
                    #FUSES NOBROWNOUT //No brownout reset
                    #FUSES NOPROTECT //Code not protected from reading
                    #FUSES NODEBUG //No Debug mode for ICD

                    //#FUSES HS, PR //Primary Oscillator without PLL
                    //#FUSES HS2_PLL4, PR_PLL //Primary Oscillator with PLL x4 Div /2
                    //#FUSES HS2_PLL8, PR_PLL //Primary Oscillator with PLL x8 Div /2
                    #FUSES HS2_PLL16, PR_PLL //Primary Oscillator with PLL x16 Div /2
                    //#FUSES HS3_PLL4, PR_PLL //Primary Oscillator with PLL x4 Div /3
                    //#FUSES HS3_PLL8, PR_PLL //Primary Oscillator with PLL x8 Div /3
                    //#FUSES HS3_PLL16, PR_PLL //Primary Oscillator with PLL x16 Div /3

                    //Crystal: 14.745600 with PLLx16 /2 => 117964800 MHz
                    //#use delay(clock=clock after PLL i.e. Final clock that is Fosc)
                    #use delay(clock=117964800)

                    #use fast_io (B) //Compiler dont change the direction of Port B

                    #use rs232(UART1,baud=115200,parity=N,bits=8,stream=A)
                    //#use rs232(UART1A,baud=115200,parity=N,bits=8,stream=AA ) //Alternative IO Pins for UART1
                    //#use rs232(UART2,baud=115200,parity=N,bits=8,stream=B)

                    //-------------------------------------Timers Interrupts------------------------
                    #int_TIMER1
                    void TIMER1_isr(void)
                    {
                    output_toggle(PIN_D2);


                    }

                    ////////////////////////////////////////////////////////////////////////////////
                    void main()
                    {
                    signed int16 adc=0;
                    //-------------------------------------------ADC--------------------------------
                    //ADC Pins must be Configure as Inputs and cleared
                    setup_adc(ADC_CLOCK_DIV_16 | ADC_TAD_MUL_8);
                    setup_adc_ports(sAN0 | VSS_VDD);
                    //set_adc_channel(0); //sets the next channel that should be read.
                    //delay_us(10); //it is good for most applications
                    //adc=read_adc();

                    //-------------------------------------------Timers Setup-----------------------
                    //Note:Clock of Timers Comes From Fosc/4
                    //The 2nd Argument of Setup_timerX function is TimerPeriod which determines The End_Value of Timer
                    //Default TimerPeriod is 0xffff
                    //Timer1 => 16bit General Purpose Timer
                    //Timer2/3 => 32bit General Purpose Timer Or Two 16bit Independant Timer
                    //Timer4/5 => 32bit General Purpose Timer Or Two 16bit Independant Timer

                    //setup_timer1(TMR_INTERNAL|TMR_DIV_BY_256,0xff);
                    //setup_timer1(TMR_INTERNAL|TMR_DIV_BY_8);
                    //setup_timer1(TMR_INTERNAL|TMR_DIV_BY_64);
                    //setup_timer1(TMR_INTERNAL|TMR_DIV_BY_256);
                    //setup_timer1(TMR_DISABLED);

                    setup_timer2(TMR_INTERNAL |TMR_DIV_BY_1,0x3b6 ); //0x3b6=950
                    //setup_timer3(TMR_DISABLED |TMR_DIV_BY_8 ,0);
                    //setup_timer4(TMR_DISABLED |TMR_DIV_BY_64 ,0);
                    //setup_timer5(TMR_DISABLED |TMR_DIV_BY_256 ,0);

                    //setup_timer2(TMR_32_BIT | TMR_INTERNAL | TMR_DIV_BY_1 ,0);
                    //setup_timer4(TMR_32_BIT | TMR_INTERNAL | TMR_DIV_BY_8 ,0);

                    //--------------------------------------PWM-------------------------------------
                    //PWM Freq = (Fosc/4/Timer_Clock_Divider/TimerPriod)
                    //They must be Set with Timer2 or Timer3
                    setup_compare(1,COMPARE_PWM | COMPARE_TIMER2 );
                    //setup_compare(2,COMPARE_PWM | COMPARE_TIMER2 );
                    //setup_compare(3,COMPARE_PWM | COMPARE_TIMER2 );
                    //setup_compare(4,COMPARE_PWM | COMPARE_TIMER2 );

                    //1st Argument is The number of CompareMatch Unit
                    //2nd Arg is Between 0 and TimrePeriod
                    //2nd Arg = DutyCycle(%)*TimerPeriod
                    set_pwm_duty(1,500);
                    //set_pwm_duty(2,4090);

                    //--------------------------------------Interrupts------------------------------
                    //enable_interrupts(INT_TIMER1);
                    //enable_interrupts(INT_TIMER2);
                    //enable_interrupts(INT_TIMER3);
                    //enable_interrupts(INTR_GLOBAL);
                    //--------------------------------------I/O Ports-------------------------------
                    set_tris_b(0xffff);
                    output_b(0x0000);

                    set_tris_d(0x0000);
                    output_d(0x0000);

                    //set_tris_a(0x0000);
                    //output_a(0xffff);

                    //set_tris_f(0x0000);
                    //output_f(0xffff);

                    //set_tris_c(0x0000);
                    //output_c(0xffff);

                    puts("Start\r",A);

                    output_low(PIN_D2);
                    output_low(PIN_D8);
                    while(true)
                    {


                    }
                    }
                    [/code]

                    هر دستوری رو که می خواید استفاده کنید و بقیه رو پاک کنید و به این ترتیب به راحتی یه فایل پروژه خاص ایجاد کردید!
                    با تشکر

                    دیدگاه


                      #11
                      پاسخ : پاسخ : راه اندازی dsPIC30F4013

                      نوشته اصلی توسط alirezatkh2
                      کد زیر رو به عنوان کد تست از یه الگوریتم محاسباتی زدم ولی نمیدونم چرا میکرو به دستور Printf که برا چاپ float هس میرسه ریست میشه! یعنی این دستور رو کامنت می کنم همه چی درست کار میکنه! در ضمن کامپایلر من CCS Ver5.012 هستش. در مورد میکروهای 8 بیتی تاحالا باهاش به مشکل برنخوردم اما تو این dsPIC ظاهرا باگ زیاد داره. اگه کسی کار کرده یا باهاش مشکلی خورده یا ورژن بهتری میشناسه بگه.
                      پیشنهاد میکنم سوالتونو در انجمن CCSinfo مطرح کنید. حتماً جواب میگیرید.
                      در مورد نسخه کامپایلر هم پایدار ترین نسخه 4.130 هست.

                      دیدگاه


                        #12
                        پاسخ : راه اندازی dsPIC30F4013

                        مشکل حل شد. ظاهرا تو این ورژنی که من کار می کنم(5.012) حافظه استک رو به اندازه کافی اختصاص نمی ده. برا همین دستور :
                        [code=c]
                        #use biuld(stack=256)
                        [/code]
                        رو اضافه کردم.

                        اما هنوز با فیوز بیت هاش مشکل دارم . تو ورژن (4.084) میتونستم فیوز :
                        [code=c]
                        #fuse PR_PLL
                        [/code]
                        رو تعیین کنم و تو پروگرام کردن مشکلی نبود اما تو این ورژن 5.012 هر کاری می کنم این فیوز رو نمی شناسه و ارور میده . وقتی هم که ازش استفاده نمی کنم پروگرامر ارور میده که فیوز بیتهاتون تنظیم نیس. ورژن 4.130 رو هم تست کردم همین بود.

                        فک کنم باید یه کرک کننده پیدا کنیم که ورژن جدید تر رو کرک کنه و برا دانلود بزاره.
                        اگه کسی راهی به ذهنش رسید بگه!

                        دیدگاه


                          #13
                          پاسخ : راه اندازی dsPIC30F4013

                          نوشته اصلی توسط alirezatkh2
                          اما تو این ورژن 5.012 هر کاری می کنم این فیوز رو نمی شناسه و ارور میده . وقتی هم که ازش استفاده نمی کنم پروگرامر ارور میده که فیوز بیتهاتون تنظیم نیس. ورژن 4.130 رو هم تست کردم همین بود.

                          فک کنم باید یه کرک کننده پیدا کنیم که ورژن جدید تر رو کرک کنه و برا دانلود بزاره.
                          اگه کسی راهی به ذهنش رسید بگه!
                          ربطی به کرک نداره. فیوز بیتهایی که میگین به اون نام اصلاً وجود نداره. اگر IDE رو دارید توی تب View میتونید Valid Fuses رو ببینبد.
                          البته قبول دارم CCS بعضی وقتها اسمهایی که برای فیوزبیتها میزاره به دیتاشیت هیچ ربطی نداره! ولی خب به کرک ربطی نداره.

                          دیدگاه


                            #14
                            پاسخ : راه اندازی dsPIC30F4013

                            نوشته اصلی توسط freedom_truth
                            ربطی به کرک نداره. فیوز بیتهایی که میگین به اون نام اصلاً وجود نداره. اگر IDE رو دارید توی تب View میتونید Valid Fuses رو ببینبد.
                            البته قبول دارم CCS بعضی وقتها اسمهایی که برای فیوزبیتها میزاره به دیتاشیت هیچ ربطی نداره! ولی خب به کرک ربطی نداره.
                            منظورم این نبود که ربطی به کرک داره! منظورم این بود که ورژن هایی که موجود هستند شاید کارایی خوبی نداشته باشند حتی بچه های ccSINFO هم بهش اذعان دارن و از ورژن های جدید استفاده می کنن و جواب گرفتن اما هنوز از این ورژن های جدید، نسخه کرک شده پیدا نکردم. یعنی یه هکر پیدا کنیم این ورژن آخری خود سایت CCSINFO رو برامون اوکی کنه!!!

                            اون فیوز بیت هم تو ورژن های مختلف با اسامی مختلف وجود داره. ولی اینکه تو اون ورژن هایی که نیس راه جایگزینش چیه مهمه..... که من هنوز پیدا نکردم.

                            اضافه شده در تاریخ :
                            آقا مشکل حل شد. کامپایلر های ccs همه فیوزبیت ها رو ندارن. با کلی گشتن متوجه شدم چجوری فیوز بیت دلخواهم رو به برنامه اضافه کنم. و دیگه پروگرامر مشکل فیوز بیت نمی گیره. ولی ورژنی که من استفاده می کنم 5.012 هستش که زیاد باگ داره (هر چند کارم رو راه انداخته فعلا) و بچه های CCSINFO می گن ورژن قابل اعتماد 5.016 هستش که من هر چی گشتم کرک شدش رو پیدا نکردم. اگه کسی چیزی پیدا کرد حتما بگه......ممنون
                            ایشالا چن روز دیگه یه رفرنس کد با این ورژن می زارم که خیلی نسبت به 4.084 قابل اعتماد تره.
                            تو این مدت هم اگه کسی از این میکرو سوالی داش و باهاش به مشکل برخورده بود بگه شاید حقیر تونستم کاری کنم در غیر این صورت اساتید پاسخ گو هستند.

                            دیدگاه


                              #15
                              پاسخ : راه اندازی dsPIC30F4013

                              تاپیک CCSinfoی شما رو دیدم.
                              کاربری که جواب شما رو داده (Ttelmah) بیش از 10 ساله که اونجا سوال تازه کارها رو جواب میده. خیلی باتجربه است.
                              همونطور که ایشون گفتن، وقتی CCS یه چیزی منتشر میکنه، مثلاً نسخه major کامپایلرها، باید چند توزیع صبر کنید تا همه چی درست کار کنه.
                              الان نسخه 5 تقریباً در توزیع های اولیه قرار داره. البته ایشون گفتند که از نسخه 5.016 به بعد تا حدودی قابل اعتماده.

                              لینک دانلود نسخه 5.037 و کیجن در پایین. از انجمن sonsivri.to.
                              کد:
                              Last version: 5.037
                              https://mega.co.nz/#!tFYVHB7Z!RSYm9eBGozGtSGynDgbzDBGRXRWmYPexwt5J65z7W_Q
                              
                              Keygen
                              http://www.4shared.com/rar/eOjtsmH1ce/CCSUK.html

                              دیدگاه

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