mirror of https://github.com/ARMmbed/mbed-os.git
I2C NAK fix
parent
d268bb0131
commit
74ecc75bd8
|
@ -128,6 +128,10 @@ int i2c_do_write(i2c_t *obj, int value) {
|
||||||
|
|
||||||
int i2c_do_read(i2c_t *obj, char * data, int last) {
|
int i2c_do_read(i2c_t *obj, char * data, int last) {
|
||||||
int timeOut = 100000;
|
int timeOut = 100000;
|
||||||
|
|
||||||
|
if (last){
|
||||||
|
obj->i2c->TASKS_STOP = 1;
|
||||||
|
}
|
||||||
while(!obj->i2c->EVENTS_RXDREADY){
|
while(!obj->i2c->EVENTS_RXDREADY){
|
||||||
timeOut--;
|
timeOut--;
|
||||||
if(timeOut<0)
|
if(timeOut<0)
|
||||||
|
@ -135,9 +139,6 @@ int i2c_do_read(i2c_t *obj, char * data, int last) {
|
||||||
}
|
}
|
||||||
obj->i2c->EVENTS_RXDREADY = 0;
|
obj->i2c->EVENTS_RXDREADY = 0;
|
||||||
|
|
||||||
if (last){
|
|
||||||
obj->i2c->TASKS_STOP = 1;
|
|
||||||
}
|
|
||||||
*data = obj->i2c->RXD;
|
*data = obj->i2c->RXD;
|
||||||
|
|
||||||
for(int i=0;i<320;i++){
|
for(int i=0;i<320;i++){
|
||||||
|
|
Loading…
Reference in New Issue