Суть проблемы: у меня есть Arduino Due, акселерометр MPU6050 и 23lcv512.MPU дает мне 16-битное целое число со знаком.Я хотел бы сохранить данные в SRAM и после измерения прочитать их обратно и через Serial отправить их на ПК.Отправка на ПК не является проблемой.Проблема в том, что этот SRAM имеет 128k 8-битный адрес.Мои цифры 16 бит.Я не могу написать их напрямую.Вот мой кодЯ проверил RAM с этим кодом:
`
void loop() {
int i = 0;
Serial.print("Write Byte: ");
for (i = 0; i < 70000; i++) {
//Serial.print("Write Byte: ");
//Serial.print(i);
//Serial.println();
SRAM.writeByte(START_ADDRESS, i);
START_ADDRESS = START_ADDRESS + 1;
}
Serial.print("Write End");
i = 0;
START_ADDRESS = 0;
for (i = 0; i < 300; i++) {
Serial.print("Read Byte: ");
Serial.print(SRAM.readByte(START_ADDRESS));
Serial.println();
Serial.println();
START_ADDRESS = START_ADDRESS + 1;
delay(100);
}
}`
Я добавил библиотеку 23LC.Если он запускается, считывает числа из ОЗУ, но после 255 он снова начинает читать 0.Я знаю, почему это происходит.Но я не знаю, как решить проблему.
Я пытался использовать команду writeBlock, но она работает только для меня с переменными char.Переменная Char требует больше места, чем целые числа.У меня не так уж много.
Есть ли кто-нибудь, кто может написать пример кода, который может записать 16-разрядное целое число со знаком в sram?