C programovanie, potrebujú pomoc pre I2C prístup ATMEGA 24 C16

K

Kuzito

Guest
Dobrý deň všetkým, Im začiatočník a pokúsite sa pripojiť I2C 8bit sériovej EEPROM 24C02 a 24C16 na ATmega16. K dispozícii je kód a fungujú skvele, pretože to s 24C02 EEPROM sa zaoberá od 0x00 až 0xFF.
Code:
 # define EEPROM_BUS_ADDRESS 0XA0 eeprom_read_8bit (unsigned char adresa) {i2c_start (); i2c_write (EEPROM_BUS_ADDRESS) i2c_write (adresu), i2c_start (); i2c_write (EEPROM_BUS_ADDRESS | 1), data = i2c_read (0), i2c_stop (); }
Potrebujem pomôcť, ako čítať z 8-bitové sériové EEPROM 24C16 Ak adresa na 0xFF - 0x120 v príklade. Pre 16bit sériovej EEPROM pošlu LOW a HIGH adresu a pracovať s ďalším kód:
Code:
 eeprom_read_16bit (unsigned char address_high, unsigned char address_low) {i2c_start (); i2c_write (EEPROM_BUS_ADDRESS) i2c_write (address_high) i2c_write (address_low); i2c_start (); i2c_write (EEPROM_BUS_ADDRESS | 1), data = i2c_read (0), i2c_stop ();}
Vopred ďakujeme, Kuzito
 

Welcome to EDABoard.com

Sponsor

Back
Top