Не получается прочитать через i2c eeprom память m24sr04

153
05 апреля 2019, 21:10

Пытаюсь прочитать через i2c eeprom память m24sr04 (Dynamic NFC/RFID tag IC with 4-Kbit EEPROM). Предварительно записал в тэг с помощью NFC некоторую информацию. И могу эту же информацию считать с помощью NFC. Данная программа корректно читает вторую eeprom в которую записаны настройки платы (плата на основе PowerPC, Linux), но при считывании eeprom m24sr04 выводит множество "255" (при %d) или множество квадратиков (при %c). Может кто знает в чем моя ошибка и как поступить в данной ситуации?

int main () {
    int file;
    char filename[40];
    const char *buffer;
    int addr = 0x2d;        // The I2C address of the ADC
    sprintf(filename, "/dev/i2c-0");
    if ((file = open(filename, O_RDWR)) < 0) {
        printf("Failed to open the bus.");
        /* ERROR HANDLING; you can check errno to see what went wrong */
        exit(1);
    } else {
        printf("Success open the bus.\n");
    }
    if (ioctl(file, I2C_SLAVE, addr) < 0) {
        printf("Failed to acquire bus access and/or talk to slave.\n");
        /* ERROR HANDLING; you can check errno to see what went wrong */
        exit(1);
    } else {
        printf("Managed to access the bus and / or talk to the slave\n");
    }

    /// Read
    unsigned char buf1[10000] = {0};
    int buf2[10000] = {0};

    if (read(file, buf1, 1000) != 1000) {
        /* ERROR HANDLING: i2c transaction failed */
        printf("Failed to read from the i2c bus.\n");
        buffer = strerror(errno);
        cout << buffer << endl;
        printf("\n\n");
    } else {
        for(int j = 0; j<1000; j++) {
            printf("%d  ", buf1[j]);
        }
        printf("\n\n");
    }
}
READ ALSO
Различные типы функций

Различные типы функций

Не очень понимаю, почему следующий код выводит 0 1 0Какие типы у foo_1, foo_2 и foo_3?

342
Не меняются иконки C++

Не меняются иконки C++

Вообщем вот фрагмент кода, код себя ведет не очень понятно, все как бы хорошо, но иконка не меняется при наступлении 19 часов(а так должно быть)

198
Как подключить cURL к Visual Studio?

Как подключить cURL к Visual Studio?

Я скачал архив с сайта, к сделал всё как на видео но мне пишет,

192
Как обвернуть OpenGL на С++ в GNU/Linux

Как обвернуть OpenGL на С++ в GNU/Linux

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

214