X-Git-Url: http://git.linex4red.de/pub/lufa.git/blobdiff_plain/eee252603be67c539f9986cde76454f756e55d95..e615d4e8b9da2da9dc4d0ebd7e02ec389501fee8:/LUFA/Drivers/Peripheral/AVR8/TWI_AVR8.c diff --git a/LUFA/Drivers/Peripheral/AVR8/TWI_AVR8.c b/LUFA/Drivers/Peripheral/AVR8/TWI_AVR8.c index cb135a774..11dd49639 100644 --- a/LUFA/Drivers/Peripheral/AVR8/TWI_AVR8.c +++ b/LUFA/Drivers/Peripheral/AVR8/TWI_AVR8.c @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2012. + Copyright (C) Dean Camera, 2018. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2018 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted @@ -45,7 +45,7 @@ uint8_t TWI_StartTransmission(const uint8_t SlaveAddress, TWCR = ((1 << TWINT) | (1 << TWSTA) | (1 << TWEN)); TimeoutRemaining = (TimeoutMS * 100); - while (TimeoutRemaining-- && !(BusCaptured)) + while (TimeoutRemaining && !(BusCaptured)) { if (TWCR & (1 << TWINT)) { @@ -65,6 +65,7 @@ uint8_t TWI_StartTransmission(const uint8_t SlaveAddress, } _delay_us(10); + TimeoutRemaining--; } if (!(TimeoutRemaining)) @@ -77,12 +78,13 @@ uint8_t TWI_StartTransmission(const uint8_t SlaveAddress, TWCR = ((1 << TWINT) | (1 << TWEN)); TimeoutRemaining = (TimeoutMS * 100); - while (TimeoutRemaining--) + while (TimeoutRemaining) { if (TWCR & (1 << TWINT)) break; _delay_us(10); + TimeoutRemaining--; } if (!(TimeoutRemaining)) @@ -133,7 +135,7 @@ uint8_t TWI_ReadPacket(const uint8_t SlaveAddress, const uint8_t* InternalAddress, uint8_t InternalAddressLen, uint8_t* Buffer, - uint8_t Length) + uint16_t Length) { uint8_t ErrorCode; @@ -173,7 +175,7 @@ uint8_t TWI_WritePacket(const uint8_t SlaveAddress, const uint8_t* InternalAddress, uint8_t InternalAddressLen, const uint8_t* Buffer, - uint8_t Length) + uint16_t Length) { uint8_t ErrorCode;