X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fdrv%2Feeprom.c;h=52ab70c72f7ab5f1cf8232f1b66ec818212a9905;hb=64ed7d8f2437c3489152ecd0ca462d74fded1328;hp=470d85cd903d24c46a0571d1c247da50d1e0b05e;hpb=045eee9c155a59945616a93051c5d44e5df76ab6;p=bertos.git diff --git a/bertos/drv/eeprom.c b/bertos/drv/eeprom.c index 470d85cd..52ab70c7 100644 --- a/bertos/drv/eeprom.c +++ b/bertos/drv/eeprom.c @@ -248,20 +248,11 @@ static size_t eeprom_read(struct KFile *_fd, void *_buf, size_t size) return 0; } - while (size--) - { - /* - * The last byte read does not have an ACK - * to stop communication. - */ - int c = i2c_get(size); - if (c == EOF) - break; - - *buf++ = c; - fd->fd.seek_pos++; - rd_len++; + if (i2c_recv(buf, size)) + { + fd->fd.seek_pos += size; + rd_len += size; } i2c_stop();