From 359f7a89f20aeae0d1c35836cb90ed5ced1bea68 Mon Sep 17 00:00:00 2001 From: Mikael Johansson Date: Sat, 10 Oct 2020 16:48:14 +0200 Subject: [PATCH] Fixed return value bug in TwoWire::write --- libraries/Wire/src/Wire.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libraries/Wire/src/Wire.cpp b/libraries/Wire/src/Wire.cpp index de489cd..86b0684 100644 --- a/libraries/Wire/src/Wire.cpp +++ b/libraries/Wire/src/Wire.cpp @@ -279,8 +279,9 @@ TwoWire::requestFrom(uint16_t address, uint8_t size, bool sendStop) //请求数 size_t TwoWire::write(uint8_t data) //写到txbuff { - if(transmitting) { + if(transmitting && !i2c_tx_buff->isFull()) { i2c_tx_buff->store_char(data); + return 1; } return 0; } @@ -288,7 +289,7 @@ TwoWire::write(uint8_t data) //写到txbuff size_t TwoWire::write(const uint8_t *data, int quantity) { - for(size_t i = 0; i < quantity; ++i) { + for(size_t i = 0; i < quantity; i++) { if(!write(data[i])) { return i; }