буду пробовать....такНаверное вот так надо:
/********************* Загружаем Num ************************/
void WriteNUM (uint8_t page_1, volatile uint64_t P1, char reg)
{
WriteByte_1 (page_1, reg);
i2cByteSend ((P1 & 0x00000000000000FF));
i2cByteSend ((P1 & 0x000000000000FF00)>>
;i2cByteSend ((P1 & 0x0000000000FF0000)>>16);
i2cByteSend ((P1 & 0x00000000FF000000)>>24);
i2cByteSend ((P1 & 0x000000FF00000000)>>32);
i2cByteSend ((P1 & 0x0000FF0000000000)>>40);
i2cByteSend ((P1 & 0x00FF000000000000)>>48);
i2cByteSend ((P1 & 0xFF00000000000000)>>56);
i2cStop();
}
Сначала загружаются регистры с меньшим адресом, затем адрес увеличивается на 1 автоматически.
. Работает потому, что при записи Num затираются регистры Den. А потом Den восстанавливаются, так как Dеn пишется позже. Но, конечно же, лишнее писать нет смысла. И так по времени получается критично.