Skip to content
Snippets Groups Projects
Commit f6972a43 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

configurable i2c bitrate on arduino nano

parent 7343085d
No related branches found
No related tags found
No related merge requests found
......@@ -25,8 +25,9 @@
void loop(void)
{
#ifdef DRIVER_LM75
kout.printf_float(lm75.getTemp());
kout << endl;
//kout.printf_float(lm75.getTemp());
//kout << endl;
lm75.setOS(64);
#endif
#ifdef DRIVER_AM2320
am2320.read();
......
......@@ -32,6 +32,10 @@ ifneq ($(findstring stdin,${arch_drivers}), )
TARGETS += src/arch/arduino-nano/driver/stdin.cc
endif
ifneq (${i2c_freq}, )
COMMON_FLAGS += -DF_I2C=${i2c_freq}
endif
OBJECTS = ${TARGETS:.cc=.o}
.cc.o:
......
......@@ -3,6 +3,10 @@
#include <avr/io.h>
#include <avr/interrupt.h>
#ifndef F_I2C
#define F_I2C 100000UL
#endif
inline void await_twint(unsigned char twcr_values)
{
TWCR = twcr_values | _BV(TWINT) | _BV(TWIE);
......@@ -99,7 +103,7 @@ static signed char i2c_receive(uint8_t len, uint8_t *data)
signed char I2C::setup()
{
TWSR = 0;
TWBR = ((F_CPU / 100000UL) - 16) / 2;
TWBR = ((F_CPU / F_I2C) - 16) / 2;
return 0;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment