اطلاعیه

Collapse
No announcement yet.

[آموزش] آموزش کامل PIC تحت کامپایلر XC8

Collapse
این موضوع برجسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    [آموزش] آموزش کامل PIC تحت کامپایلر XC8

    با عرض سلام.
    با توجه به اینکه متاسفانه منابع فارسی برای یادگیری میکروکنترلر های pic مخصوصا کامپایلر xc8 وجود نداره تصمیم گرفتم در حد توان اموزشی برای این میکروکنترلر بنویسم.
    جلسه اول:
    اما چرا کامپایلر xc8 ؟
    با توجه به عدم پشتیبانی c18 توسط microchip و اینکه فرد بتواند پس از این اموزش با کلیه میکروکنترلر های 8 بیتی مایکروچیپ کارکند تصمیم بر ان شد که کامپایلر خوب و قوی xc8 اموزش داده بشه چون همون طور که میدونید با کامپایلر c18 تنها برای سری 18 pic میتوانید برنامه نویسی کنید و خبر خوب اینکه این کامپایلر (xc8 )به نوعی c18 در خود دارد یعنی شما میتوانید از کتابخوانه های c18 نیز برای این سری استفاده کنید.

    لوازمی که نیاز دارید:
    -میکروکنترلر pic 16f877a
    -پروگرامر ترجیحا pic kit 2 (اموزش ساخت هم تو نت هست).
    -کامپایلر xc8 v1.32 که از اینجا دانلود کنید http://ww1.microchip.com/downloads/e...-installer.exe
    -نرم افزار mplab x

    نکته:یه موضوع اصلی که اکثر دوستان باهاش مشکل دارن و شاید همین موضوع باعث کمتر کار شدن روی این کامپایلر شود نبود کرک قابل قبول برای این کامپایلر میباشد.که این مشکل با کمی تغییرات من بر روی نسخه sonsivri حل شده و میتوانید از لینک زیر دانلود کنید و با کمال میل استفاده کنید :biggrin:
    لینک دانلود کرک


    پس از نصب xc8 فایل بالا را که دانلود کرده اید استخراج کنید.
    حالا در مسیری که xc8 را نصب کرده اید پوشه bin را باز کنید.
    توجه : به این قسمت دقت کنید در پوشه bin فایل xclm را بیابید و پسوند انرا به .old تغییر دهید یعنی فایل شما به xclm.old تبدیل شود حالا فایل xclm کرک را در این محل کپی کنید.
    و فایل xclm.exe را اجرا کنید (در ویندوز 7 run as adminstrator کنید).
    حال ویندوز را ریست کنید.
    شما هم اکنون از نسخه xc8 pro استفاده میکنید.
    پایان جلسه اول.
    توجه: دوستان عزیز لطف کنید فقط و فقط تو تاپیک پرسش و پاسخ آموزش کامپایلر XC8 سوالات و مشکلاتتون رو بپرسین.

    موفق و موید باشید.
    ویرایش:کرک اخرین نسخه xc8 v1.33 نیز در تاریخ 28/7/93 اضافه گردید این نسخه کرک هم بر روی ورژن 1.32 و هم بر روی ورژن 1.33 تست شده.
    جدیدترین ویرایش توسط علی چمانی; ۱۳:۱۲ ۱۳۹۶/۰۶/۲۶.
    Someone who can change the world
    ELECTRONIC ENGINEER

    #2
    پاسخ : اموزش کامل pic تحت کامپایلر xc8

    سلام حالتون خوبه؟
    بریم سراغ جلسه دوم:(blinking led یا led چشمک زن)
    اولین پروژمون رو میسازیم ابتدا mplab x رو باز میکنید.

    محیط شیرین mplab x که مطابق شکل زیره :NO:

    تومنوی file >new project پروژه جدیدتون رو ایجاد کنید.
    گزینه next رو بزنید.
    حالا باید میکروکنترلرتان را انتخاب کنید.
    در قسمت device تایپ کنید pic16f877a و گزینه next رو بزنید.

    این محیط برای انتخاب دیباگر میباشد که شما گزینه next رو بزنید در صفحه بعد باید میکروکنترلرتون رو انتخاب کنید.

    در این محیط باید کامپایلرتون رو که نصب کردید انتخاب کنید.مطابق شکل.next رو بزنید.
    تبریک پروژتون ساخته شد.
    برای کدنویسی باید یه فایل .c به پروژه اضافه کنید مطابق شکل زیر این کارو انجام بدید.

    و در پنجره باز شده گزینه finish رو بزنید.
    اما حالا کد نویسی:
    در این کامپایلر دیگر نیازی به تعریف میکروکنترلرتان در فایل c ندارید و شما فقط فایل xc.h را اینکلود میکنید.
    اما قبل از هرچیزی در خط اول برنامه تان این خط را define کنید تا کامپایلر clock میکرو را تشخیص دهد.
    کد:
    #define _XTAL_FREQ 8000000
    دقت کنید عدد 8000000 مقدار فرکانس کریستال خارجی است یعنی من در این برنامه یک کریستال 8 مگ وصل کرده ام.
    حالا میریم سراغ فیوز بیت ها:
    در میکروکنترلر های pic نیز همانند xmega میتوان فیوزبیت ها را در برنامه تغییر داد.
    شما فیوز بیت ها را زیر فایل های include مینویسید.
    فیوز بیتهایی که فعلا شما نیاز دارید (زیاد روش حساس نیاشید فقط کپی کنید تا در جلسه بعد کامل فیوز بیت ها رو درس بدم).
    کد:
     #pragma config FOSC = HS    // Oscillator Selection bits (HS oscillator)
    #pragma config WDTE = OFF    // Watchdog Timer Enable bit (WDT disabled)
    #pragma config PWRTE = OFF   // Power-up Timer Enable bit (PWRT disabled)
    #pragma config BOREN = OFF   // Brown-out Reset Enable bit (BOR disabled)
    #pragma config LVP = OFF    // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming)
    #pragma config CPD = OFF    // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)
    #pragma config WRT = OFF    // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control)
    #pragma config CP = OFF     // Flash Program Memory Code Protection bit (Code protection off)
    خب حالا میکروی شما اماده کد نویسی است بریم سراغ برنامه اصلی:
    ببینید در xc8 شما دسترسی بیتی دارید یعنی همانند کدویژن میتوانید به بیت بیت دسترسی داشته باشید (برعکس atmel studio).

    برای مشخص کردن ورودی یا خروجی بودن پورت در pic باد رجیستر TRISx را تنظیم کنید.(همان DDR در avr یا IOxDIR در ARM).
    به این صورت که اگر TRIS=0 باشد خروجی و اگر TRIS=1 ورودی (یعنی برعکس avr).


    حالا مقدار پورت:
    همانند دیگر کامپایلر ها مقدار 0 و 1 مقدار خروجی را مشخص میکند.

    حالا بریم سراغ توابع تاخیر در این کامپایلر برعکس کامپایلر c18 توابع تاخیرش بر حسب سیکل کاری بود و باید حساب میکردید که برای n زمان n سیکل گیر کند شما در این کامپایلر به راحتی میتوانید تاخیرات را بر حسب ms یا us تعریف کنید.
    یه مثال برای چشمک زدن PORTB پین 0 مینویسیم که همه ی موضوعاتی که بالا گفتم توش باشه.
    [code=c]/*
    * File: newmain.c
    * Author: s.kambiz hosseini
    *
    * Created on September 22, 2014, 12:25 PM
    */
    #define _XTAL_FREQ 8000000
    #include <stdio.h>
    #include <stdlib.h>
    #include <xc.h>
    #pragma config FOSC = HS // Oscillator Selection bits (HS oscillator)
    #pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
    #pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)
    #pragma config BOREN = OFF // Brown-out Reset Enable bit (BOR disabled)
    #pragma config LVP = OFF // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming)
    #pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)
    #pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control)
    #pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off)

    void main (){
    TRISB0=0;
    while(1){
    RB0=0;
    __delay_ms(200);
    RB0=1;
    __delay_ms(200);

    }

    }

    [/code]
    شماتیک هم اینجوری ببندید.


    فایل پروژه + پروتئوس رو هم از اینجا دانلود کنید.
    http://up.persianscript.ir/uploads/5...d-blinking.rar

    تذکر:سعی کنید تو عمل ببندید.
    تو عمل یادتون نره پایه 1 رو پول اپ کنید.
    رو بقیه پایه هام کار کنید .
    موفق باشید.
    Someone who can change the world
    ELECTRONIC ENGINEER

    دیدگاه


      #3
      پاسخ : اموزش کامل pic تحت کامپایلر xc8

      سلام روزتون بخیر امیدوارم شاد باشید.
      ابتدا یه موضوعی رو عرض کنم جلسه اول و دوم پشت سر هم روی سایت قرار گرفت اما چند تن از دوستان پیام خصوصی دادند که بهتره جلسات با فاصلهی بیشتری قرار بگیره تا اگر مشکلی تو هریک از جلسات داشتیم بتونیم تو انجمن بپرسیم و حلش کنیم.به همین دلیل تصمیم گرفتم با فاصله بیشتری جلسات رو قرار بدم.
      جلسه سوم:
      برای کار با ماژول های میکرو کنترلر شما نیاز به نمایش دارید برای مثال مقدار تایمر یا مقدار adc رو نمایش دهید تا از صحت عملکرد مدار و برنامتون اطمینان حاصل کنید.
      بر همین اساس امروز کار با lcd 16*2 رو اموزش میدیم تا دوستان در مراحل بعدی با مشکلی رو به رو نشوند.
      کتابخانه ای که قرار میدم بسیار ساده و خیلی کم حجم برای lcd 16*2 نوشته شده که به صورت 4 بیتی lcd رو کانفیگ میکنه و شما میتونید با اختصاص دادن یک پورت به lcd به راحتی با اون کار کنید.
      کتابخوانه رو میتونید از لینک روبه رو دانلود کنید.http://www.uplooder.net/cgi-bin/dl.c...2bcac037405992
      فایل رو که دانلود کردید از ZIP خارج کنید و به ادرس زیر منتقل کنید.
      C:\Program Files (x86)\Microchip\xc8\v1.32\include
      حالا اگر فایل رو باز کنید یه سری define به صورت پیشفرض میبینید که میتونید با توجه به پین های مد نظرتون تغییر بدید.
      اما برنامه نویسی.
      به برنامه زیر توجه کنید.
      [code=c]
      /*
      * File: lcd_learn.c
      * Author: s.kambiz hosseini
      *
      * Created on October 3, 2014, 3:25 AM

      // PIC16F877A Configuration Bit Settings

      // 'C' source line config statements*/
      #define _XTAL_FREQ 8000000
      #include <xc.h>
      #include <stdio.h>
      #include <LCD.h>
      // #pragma config statements should precede project file includes.
      // Use project enums instead of #define for ON and OFF.

      // CONFIG
      #pragma config FOSC = HS // Oscillator Selection bits (HS oscillator)
      #pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
      #pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)
      #pragma config BOREN = OFF // Brown-out Reset Enable bit (BOR disabled)
      #pragma config LVP = OFF // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming)
      #pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)
      #pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control)
      #pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off)
      void main(){
      unsigned char num=0;
      char str[16];
      Lcd_Init();
      Lcd_Set_Cursor(1,1);
      Lcd_Write_String("hello world"
      __delay_ms(500);
      while(1){
      Lcd_Clear();
      Lcd_Set_Cursor(1,1);
      sprintf(str,"your num is=%d",num);
      Lcd_Write_String(str);
      __delay_ms(500);
      num++;
      if(num>10)num=0;
      }
      }[/code]
      شماتیک مدار هم مطابق شکل زیر:


      نکته:به حروف بزرگ و کوچک دقت نمایید.
      سعی کنید عملی انجام بدید.
      پایه rw رو به زمین وصل کنید.
      فایل برنامه + پروتئوس رو از اینجا دانلود کنید.
      http://www.uplooder.net/cgi-bin/dl.c...7eac0ff6a1ea6b
      موفق باشید.
      Someone who can change the world
      ELECTRONIC ENGINEER

      دیدگاه


        #4
        پاسخ : آموزش کامل PIC تحت کامپایلر XC8

        به نام خدا
        سریع میریم سر اصل مطلب
        خوب امروز رو مبحث تایمر 0 کار میکنیم همینطور که دوستان مستحضرند تایمر یکی از ماژول های پرکاربرد هر میکرو کنترلری بوده پس خوب جلسه امروز رو کار کنید.
        دیتا شیت میکرو کنترلرتون رو باز کنید و به قسمت تایمر 0 برید.
        من میخوام برنامه ای بنویسم که یک عدد هر یک ثانیه یدونه بهش اضافه بشه.
        میکروی من 16f877a میباشد که رجیستر های تایمر 0 مطابق شکل زیره.

        مقادیر RBPU ,INTEDG همونطور که مشاهده میکنید به صورت رزرو هستندو ما نیاز به تنظیم اینها نداریم.
        مقدار TOCS رو صفر انتخاب میکنم یعنی کلاک تایمر 0 از کلاک داخلی میکرو گرفته بشه.
        مقدار TOSE برای مواقعی استفاده میشه که بخواهیم کلاک روی پایه TOCKI رو بشماریم و لبه را انتخاب کنیم که من مقدار 0 رو میزارم.
        مقدار PSA رو 0 انتخاب میکنم یعنی پریسکیلرمون برای تایمر 0 استفاده بشه.
        و طبق جدول میخوام پریسکیلر رو روی 256 قرار بدم که مقادیر PS2 , PS1 , PS0 رو 1 انتخاب میکنم.
        حالا اگر رجیستر هایی رو که گفتم یاد داشت کنیم مقدار OPTION_REG=0X07 برای اپشن رجیستر نوشته باید بشه.
        و اما رجیستر مهم دیگه ای که وظیفه ی فعال سازی و کنترلر فلگ رو داره رجیستر INTCON هست که به شرحه زیره.

        مقادیر رو به صورت زیر تنظیم میکنیم.
        GIE=1 یعنی وقفه ی کلی رو فعال میکنم.
        PEIE=1 یعنی وقفه ی ماژول های پریفرال رو فعال میکنم.
        TMR0IE=1 وقفه ی سر ریز تایمر 0 رو فعال میکنم.
        INTE=0 وقفه ی خارجی پین RB0 رو غیر فعال میکنم.
        RBIE=0 وقفه ی تغییرات RB0 رو غیر فعال میکنم.
        TMR0IF=0 فلگ تایمر 0 که ما 0 میکنیم و در صورت سر ریز این فلگ 1 میشه.
        INTF=0 فلگ وقفهی خارجی که مقدار صفر رو قرار میدیم.
        RBIF=0 که وقفه ی تغییرات RB0 که مقدار صفر رو قرار میدم.
        حالا اگه این هایی که نوشتیمو جمع و جور کنیم میشه ----- INTCON=0xe0
        نکته ------------نکته: دوستان توجه کنید پس از هر بار که وقفه رخ میده TMR0IF برابر با یک میشه و ما باید تو برنامه اونو برابر با صفر کنیم تا بتونیم دوباره بررسیش کنیم.

        حالا یه حساب سر انگشتی کنیم ببینیم تا الان چکار کردیم.
        فرکانس کاری میکرو کنترلر ما 8 مگا هرتزه که تقسم بر چهار میشه میره به هسته میکرو کنترلرمون. یعنی 2 مگا هرتز
        که ما اومدیم اونو با پریسکیلر 256 دادیم به تایمر 0 که میشه.2000000/256=7812
        حالا فرکانس تایمر 0 ما میشه 7812 هرتز که مقداری که میتونه تایمر 0 داشته باشه نهایت 255 تاست چون این تایمر 8 بیتیه.
        یعنی 7812/255=30.63
        و این یعنی که اگر 30 بار تایمر ما OVERFLOW کنه ما به فرکانس 1 هرتز میرسیم.
        که برنامش به صورت ساده میشه طبق زیر:
        [code=c]
        ///Author: s.kambiz hosseini
        #define _XTAL_FREQ 8000000
        #include <stdio.h>
        #include <xc.h>
        #include <LCD.h>
        void main (){
        unsigned char a=0,num=0;
        char str[16];
        Lcd_Init();
        INTCON=0xe0;
        OPTION_REG=0x07;
        TMR0=0x00;
        while(1){
        while(INTCONbits.TMR0IF);
        a++;
        INTCON=0xe0;
        TMR0=0x00;
        if(a>30){
        a=0;
        num++;
        }
        Lcd_Clear();
        Lcd_Set_Cursor(1,1);
        sprintf(str,"your num is=%d",num);
        Lcd_Write_String(str);
        //__delay_ms(10);
        }
        }

        [/code]


        نکته: دوستان اصولا برای چنین برنامه ای باید از وقفه استفاده کنید اا چون من هنوز وقفه رو درس ندادم با while نوشتم.
        شماتیک کارمون هم مطابق شکل زیر میشه.


        فایل شماتیک و کد رو میتونید از اینجا دانلود کنید.
        http://www.uplooder.net/cgi-bin/dl.c...b9b7bd40802f01
        پایان جلسه 4ام.
        Someone who can change the world
        ELECTRONIC ENGINEER

        دیدگاه


          #5
          پاسخ : آموزش کامل PIC تحت کامپایلر XC8

          با سلام خدمت دوستان
          مطلب زیر رو با توجه به سوال یکی از دوستان که در خصوص مقدار دهی pragma ها یا بعبارتی تنظیمات فیوزبیت های ابتدا برنامه پرسیده بودند،خدمتتون عرض میکنم.
          با استفاده از امکان جدیدی که درmplabx ide قرار داده شده :wow: (و قبلا در mplab ideنبوده :cry2براحتی میتوان این فیوزبیت ها رو مقدار دهی کرد بدون اینکه حتی نیاز باشه به دیتا شیت مربوطه مراجعه کنیم.البته قابل ذکر است که قبلا در mplab هم قابلیتی مشابه بوده به این صورت که میشد بدون اینکه این مقادیر رو در کد بیاریم اونا رو در قسمتی از ide تنظیم کنیم.که البته زیاد بنظر بنده جالب نبود و اکثرا هم برای خوانایی بهتر و یا چیزهای دیگر ترجیح میدادند که از کد در برنامه برای این مقدار دهی استفاده کنند. اما چیزی که این امکان را در mplab xمتمایز میکنه اینه که همین تنظیمات را انجام می دهیم و درنهایت کد تولید شده را copy & paste کرده و حالش را میبریم. :wow:
          ابتدا مطابق رو برو قسمت تولید کد های فیوزبیت رو میاریم:
          window>>PIC memory views>>configuration bits
          [right]
          حال در این پنجره ی باز شده تمام حالات ممکن برای میکروی انتخابیتان ،پیش روی شما میباشد.کافیه در قسمت option مشخص کنید که چه مقداری قرار است به اون قسمت بدهید بعد از تنظیمات کامل که انجام دادید generate source code to output رو میزنید و کد تولید شده رو در ابتدای برنامه تان copy & paste مکنید
          اما اینکه هر قسمت در خصوص چه موردی است و چه تنظیماتی رو بایستی بدهیم رو بایستی با مراجعه به دیتاشیت و نیازتون متوجه شوید.که این رو موکول میکنم به خودتون .چون اولا این تنظیمات زیادن منم حوصله توضیح تک تکشون رو ندارم
          دوما خیلیاشون به کارم نیومده و اصلا نمیدونم چی هستند
          سوما سید بزرگوار قول آموزششون رو داده .که ایشون خیلی خیلی لطف میکنن :applause:
          پی نوشت:
          بنده عذرخواهی میکنم از همگی خصوصا سید عزیز.اگه جسارت شد.اینا رو گفتم به امید اینکه برای دوستان مفید باشه وگرنه قصدجسارت نداشتم.و البته نکته ای هم که وجود داره اینه که دوستان اگه اطلاعاتی در خصوص این کامپایلر (XC8) و MPLAB X دارید و یا کسب میکنید اینجا بیان کنید.تا همگی استفاده کنیم.(ولو اینکه این اطلاعات کم باشه،البته بهتر است که چک کنید تا در پست های قبلی گفته نشده باشه )و قرار نباشه همه ی زحمت آموزش به دوش دوست عزیزمون آقای حسینی بیفته .در ضمن توجه داشته باشید که فقط و فقط آموزش در این قسمت گذاشته شود و سوالات به بخش معرفی شده در پست اول قرار دهید.تا از شلوغی بیجا پرهیز بشه. با تشکر فراوان
          ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ‌فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
          شهید دکتر مصطفی چمران

          دیدگاه


            #6
            پاسخ : آموزش کامل PIC تحت کامپایلر XC8

            سلام اقا سید کامبیز حسینی دمت گرم ادامه بده

            دیدگاه


              #7
              پاسخ : آموزش کامل PIC تحت کامپایلر XC8

              سلام
              حیف که بحث رو ادامه ندادی هنوز، خیلی عالی داشت پیش میآ‌رفت و البته خیلی چیزی یاد میآ‌گرفتیم.
              به هر حال تا اینجاش هم خیلی ازت ممنونم.

              دیدگاه


                #8
                پاسخ : آموزش کامل PIC تحت کامپایلر XC8

                همین این پست دیگه ادامه نداره ؟؟؟؟ :cry2: :cry2:

                دیدگاه


                  #9
                  پاسخ : آموزش کامل PIC تحت کامپایلر XC8

                  با سلام . برنامه بالا برای تابع تاخیر مشکل داره . برای دستیابی به تابع تاخیر بالای 100 میلی ثانیه باید داخل حلقه تکرار قرار بگیره.

                  دیدگاه


                    #10
                    پاسخ : آموزش کامل PIC تحت کامپایلر XC8

                    سلام

                    من که خیلی از آموزش خوبتون دارم لذت میبرم.
                    لطفا با انرژی ادامه بدید

                    با تشکر

                    دیدگاه


                      #11
                      پاسخ : آموزش کامل PIC تحت کامپایلر XC8

                      سلام دوستان کسی با کامپایلر Mplab xc8 با رابط spi کار کرده ؟ چرا وقتی تابع رو فراخوانی میکنم خطا میده ؟ اینم کد نوشته شده است :
                      #include <xc.h>
                      #include<plib/spi.h>
                      //#pragma config MCLRE = EXTMCLR, WDTEN = OFF, FOSC = HSHP
                      #define _XTAL_FREQ 8000000

                      void main(void) {


                      CloseSPI1();
                      //OpenSPI1(SPI_FOSC_4, MODE_00, SMPMID);

                      }

                      دیدگاه


                        #12
                        پاسخ : آموزش کامل PIC تحت کامپایلر XC8

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

                        دیدگاه


                          #13
                          پاسخ : آموزش کامل PIC تحت کامپایلر XC8

                          سلام دوست عزیز برای سری های 18 و 30 و 33 ایده ای نبود؟؟؟

                          دیدگاه


                            #14
                            پاسخ : آموزش کامل PIC تحت کامپایلر XC8

                            با سلام به دوستان
                            این اخطارمربوط به چیه ؟


                            \include\lcd.h warning: (1385) variable "_RD3" is deprecated (declared at D:\Program Files\Microchip\xc8\v1.34\include\pic18c452.h:6579 )
                            فکر کنم منظورش اینه که RD3 قبلا تعریف شده .
                            جالبه این پروژه رو وقتی دانلود و اجرا کردم این اخطار رو نمیده اما خودم که کاملا مثل اون بازنویسی می کنم اخطار ایجاد میشه دوباره برنامه رو کمپایل می کنم از بین میره ؟

                            دیدگاه


                              #15
                              پاسخ : آموزش کامل PIC تحت کامپایلر XC8

                              سلام دوستان

                              کسی کتابخانه ال سی دی گرافیکی ks0108 رو برای xc8 داره که تست کرده باشه ؟؟؟


                              ممنون
                              عامل کليدي تمام موفقيتها " عمل کردن" است

                              دیدگاه

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