Запись числа во внешнюю ЕЕПРОМ 24co2
- Войдите на сайт для отправки комментариев
Пт, 06/04/2018 - 01:31
Ребят помогите пожалуйста записать и считать число во внешнюю еепром, сейчас пишет фигню какойто типа восклицательные знаки вопросы и тд..
#include <Wire.h>
#include <Eeprom24C01_02.h>
#define EEPROM_ADDRESS 0x50
static Eeprom24C01_02 eeprom(EEPROM_ADDRESS);
void setup()
{
// Initialize serial communication.
Serial.begin(9600);
// Initiliaze EEPROM library.
eeprom.initialize();
const byte address = 0;
const byte count = 94;
// Declare byte arrays.
byte inputBytes[count] = { 0 };
byte outputBytes[count] = { 0 };
// Fill input array with printable characters. See ASCII table for more
// details.
for (byte i = 0; i < count; i++)
{
inputBytes[i] = i + 33;
}
// Write input array to EEPROM memory.
Serial.println("Write bytes to EEPROM memory...");
eeprom.writeBytes(address, count, inputBytes);
// Read array with bytes read from EEPROM memory.
Serial.println("Read bytes from EEPROM memory...");
eeprom.readBytes(address, count, outputBytes);
// Print read bytes.
Serial.println("Read bytes:");
for (byte i = 0; i < count; i++)
{
Serial.write(outputBytes[i]);
Serial.print(" ");
}
Serial.println("");
}
/**************************************************************************//**
* \fn void loop()
*
* \brief
******************************************************************************/
void loop()
{
}
А чем эта "фигня" отличается от того, что Вы пишете? Можете привести листинг вывода?
Вот такую фигню? ;-)
Ну так что ж Вы хотите?
Кроме outputBytes распечатайте inputBytes и убедитесь, что EEPROM работает правильно: что пишете, то и читаете.
PS. А вообще, читайте, как хранится информация внутри компьютера. Там кроме байтов ничего нет, а вопрос, как трактовать имеющиеся байты, как числа, как части длинных чисел, как символы или как элементы структуры, - находится на совести программиста. Вы без преобразования направляете байты на символьное устройство (Serial), поэтому естественно, что эти байты воспинимаются им как коды символов.
Вот такую фигню? ;-)
да)) как сделать чтобы числа писались?)
Числа могут храниться в различной форме. Для компьютера наиболее подходящим является бинарное представление. Для человека - текстовое.
Если хотите видеть числа в текстовой записи, их нужно преобразовать в текст. В Вашем случае проще всего вместо Serial.write использовать Serial.print.