Запись числа во внешнюю ЕЕПРОМ 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.