NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 4628 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 2 از 2

موضوع: ارتباط i2c

  1. #1
    کاربر علاقه مند
    تاریخ عضویت
    Sep 2011
    نوشته ها
    47
    تشکر
    14
    تشکر شده 16 بار در 8 پست

    پیش فرض ارتباط i2c

    سلام به همه دوستان
    میخواستم بدونم که تو codevision چه جوری میشه یه رشته مثل "SALAM" یا هر رشته کارکتری دیگه با spi و i2c رو ارسال کرد.مثلا روی یه eeprom نوشت ؟

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    پیش فرض

    بابا کاری نداره که
    من مثال رو برای نوشتن روی EEPROM های سری ۲۴ برای نمونه 24C512 , و یا 24C32 یا هرکدوم که آدرس دهی اونا ۱۶ بیتی باشه میتونی از دستورات زیر استفاده کنی:
    کد:
    void eeprom_write_byte(int adr,char data){ 
         char temp; 
                
    temp=adr>>8;     
    i2c_start(); 
    i2c_write(0xA0); 
    i2c_write(temp); 
    temp=adr & 255; 
    i2c_write(temp); 
    i2c_write(data); 
    i2c_stop(); 
    delay_ms(10); 
    }
    برای خوندن هم میتونی از تابع زیر استفاده کنی:
    کد:
    char eeprom_read_byte(int adr){ 
            char temp; 
            char data;  
            temp=adr>>8; 
            i2c_start(); 
            i2c_write(0xA0); 
            i2c_write(temp); 
            temp=adr & 255; 
            i2c_write(temp); 
            i2c_start(); 
            i2c_write(EEPROM_ADDRESS | 1); 
            data=i2c_read(0); 
            i2c_stop(); 
            return data; 
    }

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

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