Необходима программа для работы фероэлектрической памятью FM24CL16 для ATMEGA128

Нужна программка для работы с фероэлектрической памятью FM24CL16, на шине помимо сидят часы DS3231, необходимо сохранять integer и long, не используя Wire.
Тот код который находится на старом форуме у меня на этом контроллере не заработал.
Так же в программе используются таймеры счетчики, необходимо чтобы оно смогло работать все вместе

  TIMSK =0;
  ETIMSK =0;
  EICRB = (1<<ISC41);  // Setting it equal is good here *IF* you want to ensure all other bits are clear, in this test code we do
  EIFR |= (1<<INTF4);  // Write a 1 to clear any possible pending interrupt
  EIMSK = (1<<INT4);
  //attachInterrupt(4, INT_4, FALLING);
  //
  TCCR3A =0;
  TCCR3B=0;
  ETIMSK |= (1 << OCIE3A);
  TCNT3 =0;
  TCCR3A = 0b01000000;          
  OCR3A   = 1562;         
  TCCR3B =0b00001100;
  //
  TCCR1A =0;
  TCCR1B=0;
  TCNT1 =0;  
  TIMSK |= (1 << OCIE1A);
  TCCR1A = 0b01000000;
  OCR1A = 78;
  //TCCR1B=0b00001011;
  TCCR1B=0b00001000;
  //
  TCCR0 =0;
  TCCR0=0;
  TCNT0 =0;
  TIMSK |= (1 << OCIE0);
  OCR0 = 78;
  TCCR0=0b00011100;

“Тот код” - это случайно не вот эта библиотека? Она как раз без использования Wire.

Но она на регистрах для атмеги328. Для атмеги128 надо чуть поправить.

Да, именно так

Возьмётесь?

Лучше бы кто-нибудь другой. У меня нет меги128.
Код открытый, можете использовать бесплатно.

А в чем Wire провинился ???

Она больше занимает

Разница примерно 1.5к байт (2000 с Wire, 400 без). На контроллере с 128к флеша это глобальная разница, конечно :slight_smile:

@Komandir
Почему-то “написать код без использования Вайр” - популярный запрос в заказах, вижу такое достаточно часто.

А с этой хренью вы как общаетесь ? И почему её микросхема памяти не используется ?

По i2c, это не модуль с памятью, а просто Микра с резисторами подтяжки, в параллель подключена эта Микра памяти, Напаяна просто, и там стоит обычная память, а мне нужна с большим ресурсом перезаписи

без wire ?

вполне.
В библиотеке упомянутой выше реализован необходимый для мастера набор команд. Фактически эта та же Вайр, но из которой выкинута слейв-часть

Даже не задействуя железо i2c …

b707
Я подозреваю что ТС уже подключил библиотеку для часов, которая в свою очередь уже использует Wire …

просто библиотека для часов используется DS3231, датчики температуре на OneWire

Она на Wire с вероятностью 99.9999999% !!!

Поэтому на другое устройство нужно без Wire, чтобы сыканомить! А то туда 2кб, сюда 2 кб…

Иронично !!!

я пытался взять код https://github.com/nw-wind/FM24I2C, но она без wire не компилируется

В ней есть Wire ?