Пытаюсь прочитать через 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");
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Не очень понимаю, почему следующий код выводит 0 1 0Какие типы у foo_1, foo_2 и foo_3?
Вообщем вот фрагмент кода, код себя ведет не очень понятно, все как бы хорошо, но иконка не меняется при наступлении 19 часов(а так должно быть)
Я скачал архив с сайта, к сделал всё как на видео но мне пишет,
Что я делаю не так, это очень примитивный вопрос, который вы слышите уже не первый разА я хочу спросить, как исправить ошибки в коде, чтобы...