ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 4 از 4

موضوع: مشکل با i2c

  1. #1
    2011/08/03
    193
    50

    مشکل با i2c

    با سلام خدمت دوستان

    مشکل ما با پرت سريال که حل نشد

    اما يه مشکل ديگه پيدا شده ميخوام با يه اي سي eeprom 24c02 کار کنم

    يه برنامه نوشتم کار خواصي نميکنه ولي فقط قسمتي که از روي ic ميخونه کار ميکنه نميتونه داخل ic بنويسه
    کد:
    #include<p18f4550.h>
    #include<delays.h>
    #include<i2c.h>
    #include<xlcd.h>
    #include<stdio.h>
    #pragma config WDT=OFF,LVP=OFF,FOSC=HS,PBADEN = OFF,PWRT = ON
    
    
    void DelayFor18TCY(void){
    	Delay10TCYx(2);
    }
    void DelayPORXLCD(void){
    	Delay1KTCYx(20);
    }
    void DelayXLCD(void){
    	Delay1KTCYx(5);
    }
    
    
    char buf[10];
    void main(){
      unsigned char test=0;
      unsigned char i=0;
    	OpenXLCD(FOUR_BIT&LINES_5X7);
    	OpenI2C(MASTER,SLEW_ON);
    	SSPADD=9;// 400kHz Baud clock
      WriteCmdXLCD(DON & BLINK_OFF & CURSOR_OFF);
      WriteCmdXLCD(0x1);//clear display
      putrsXLCD( "be name KHODA" );
      Delay10KTCYx(200);
    
    	WriteI2C(0b10100010);
    	Delay10KTCYx(1);
      WriteI2C(0x02);
      test=0x0;
    
    for(i=0;i<10;i++){
    Delay10KTCYx(1);
    test++;
      WriteI2C(test);
    }
    
      RestartI2C();
    Delay10KTCYx(1);
      WriteI2C(0b10100010);
    Delay10KTCYx(1);
      WriteI2C(0x02);
      RestartI2C();
    Delay10KTCYx(1);
      WriteI2C(0X0b10100011);
    while(1){
    
      test=ReadI2C();
      WriteCmdXLCD(0x1);//clear display
      sprintf(buf,"%d ",test);
      putsXLCD( buf );
    Delay10KTCYx(100);
    
    }  
    
    }
    عامل کليدي تمام موفقيتها " عمل کردن" است
  2. #2
    2011/08/03
    193
    50

    پاسخ : مشکل با i2c

    سلام

    من تونستم از روي اون بخونم ولي نميشه داخلش چيزي نوشت ؟

    کار دستور AckI2C(); تو ارتباط i2c چي هست ؟؟
    عامل کليدي تمام موفقيتها " عمل کردن" است
  3. #3
    2008/10/29
    2,098
    219

    پاسخ : مشکل با i2c

    سلام
    کار دستور AckI2C(); تو ارتباط i2c چي هست ؟؟
    در ارسال از مستر به سمت کلاینت ، منظور میکرو به سمت تراشه ، بعد از ارسال داده به سمت slave میکرو منتظر می ماند تا تایید دریافت داده از سمت slave تایید بشه اگر همچنین چیزی صورت نگرفته باشد و با چک کردن بیت WCOL از ریجستر SSPCON1 متوجه تصادم شده باشید باید مجددا داده هاتون رو ارسال کنین ، سعی کنین برای ارسال داده ابتدا داده رو با WriteI2C بفرستین و گرفتن خروجی تابع WriteI2C در صورت خطا داشتن مجددا سعی به نوشتن در حافظه کنین نمونه برنامه برای ارسال داده هم می تونین اینجا ببینین

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    یا داده هاتون رو به وسیله این تابع ارسال کنین


    کد:
    void WriteDs(unsigned char dat)
    {
      signed char states,pert;
      states=WriteI2C(dat);
      while(states==-1)
      {
        pert=SSPBUF;
        SSPCON1bits.WCOL=0;
        states=WriteI2C(dat);
      }
      while(SSPCON2bits.ACKSTAT);
    }
    هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.
  4. #4
    2011/08/03
    193
    50

    پاسخ : مشکل با i2c

    دوستان مشکلم با نوشتن حل شده ولي چيزي ازش نميشه بخوني ؟؟

    يعني هرچي ميخوني مقدار 0xff رو ميده
    عامل کليدي تمام موفقيتها " عمل کردن" است
نمایش نتایج: از 1 به 4 از 4

موضوعات مشابه

  1. مشکل - مشکل - مشکل ( حروف نا مفهوم برروی LCD)
    توسط ssaeid2000 در انجمن سایر مطالب مرتبط با ميکرو ها و پروسسورها
    پاسخ: 11
    آخرين نوشته: 2008/10/07, 17:00

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •