Clean code

This commit is contained in:
2020-11-18 08:48:20 +01:00
parent 26eac4ac69
commit b9c0be68d8
9 changed files with 49 additions and 54 deletions

View File

@@ -3,9 +3,9 @@
void i2c_init(uint32_t bitrate)
{
uint8_t prescaler_options[] = {1, 4, 16, 64};
uint8_t prescaler_value = prescaler_options[TWSR & 0x03]; // 0x03 (hex) = 0b00000011 (bin)
TWBR = (uint8_t)((F_CPU / bitrate - 16) / (2 * prescaler_value));
uint8_t prescaler_options[] = {1, 4, 16, 64};
uint8_t prescaler_value = prescaler_options[TWSR & 0x03]; // 0x03 (hex) = 0b00000011 (bin)
TWBR = (uint8_t)((F_CPU / bitrate - 16) / (2 * prescaler_value));
}
void i2c_start(void)
@@ -41,7 +41,9 @@ void i2c_readbuf(uint8_t sla, uint8_t adr, uint8_t len, uint8_t* buf)
i2c_write(adr);
i2c_start();
i2c_write(sla + I2C_READ);
while(len--) *buf++ = i2c_read(len ? I2C_ACK : I2C_NACK);
i2c_stop();
}
@@ -51,10 +53,7 @@ void i2c_writebuf(uint8_t sla, uint8_t adr, uint8_t len, uint8_t* buf)
i2c_write(sla);
i2c_write(adr);
while (len--)
{
i2c_write(*buf++);
}
while (len--) i2c_write(*buf++);
i2c_stop();
}