
Zitat von
linux_80
Hallo,
schreib einfach eine Function der Du die SlaveAdresse des gewünschten Sensors mitgibst.
Sorry, kann dir gerade nicht ganz folgen. Weiß nich genau was du meinst...
Das Program sieht im prinzip so aus:
Code:
#include <avr/io.h>
#include "i2cmaster.h"
#define GETTEMP 0xAA
#define I2CTHERMO 0x90
#define STARTCONVERT 0xEE
int main(void) {
char TemperaturVK;
char TemperaturNK;
DDRD = (1<<PD5)|(1<<PD6);
i2c_init();
i2c_start(I2CTHERMO+I2C_WRITE);
i2c_write(STARTCONVERT);
i2c_stop();
for(;;) {
i2c_start_wait(I2CTHERMO+I2C_WRITE);
i2c_write(GETTEMP);
i2c_rep_start(I2CTHERMO+I2C_READ);
TemperturVK = i2c_readAck();
TemperturNK = i2c_readNak();
i2c_stop();
if (TemperturVK[0] >= 25)
PORTD =(1<<PD5);
else
PORTD =(1<<PD6);
}
return 0;
}
Und will einen 2. Sensor hinzufügen
Lesezeichen