AtMega128 и AT24C16
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Vozhd 11 апреля 2005 г. 14:30

проблема в том, что я не могу записать в ЕЕПРОМ данные, я поступаю следущим образом. Может, что не так делаю, тогда проправьте:

void tx_byte(byte adr0, byte adr1, byte data)
{
/* start i2c */
TWCR = (1< while(!(TWCR & (1< ;
/* TWSR = 0x08 */
/* send address devices + write */
TWDR = 0xA0 | (adr0<<1);
TWCR = (1< while(!(TWCR & (1< ;
/* TWSR = 0x18 */
/* send address memory */
TWDR = adr1;
TWCR = (1< while(!(TWCR & (1< ;
/* TWSR = 0x28 */
/* send data into memory */
TWDR = data;
TWCR = (1< while(!(TWCR & (1< ;
/* TWSR = 0x28 */
/* delay 10 ms - необходимо для записи в память*/
delay(10)
/* stop transmition */
TWCR = (1< }

.............

tx_byte(0x00,0x00,0xFF); // записать по адресу 0 0 байт 0xFF

ещё там возникает вопрос в том, что если в конце писать
TWCR = (1<

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru