#define F_CPU 3686400 #include <util/delay.h> #include <avr/io.h> #include "twimaster.h" #include "twimaster.c" #include "lcd.c" #define TWI_ADR 0x00 #define _TWINT 0b10000000 #define _TWEN 0b00000100 #define LM75_ADR 0b10010000 #define LM75_CONFIG 0b00000001 #define LM75_HYST 0b00000010 #define LM75_SET 0b00000011 #define LM75_TEMP 0b00000000 int main(void) { DDRC = 0x1F; unsigned char ret1,ret2; unsigned char t[4]; ; wait_ms(200); lcd_init(); i2c_init(); // initialize I2C library // init LM75 i2c_start_wait(LM75_ADR+I2C_WRITE); i2c_write(LM75_CONFIG); // Config Register auswählen i2c_write(0); i2c_write(0); i2c_stop(); i2c_start_wait(LM75_ADR+I2C_WRITE); i2c_write(LM75_HYST); // Config Register auswählen i2c_write(19); i2c_write(0); i2c_stop(); i2c_start_wait(LM75_ADR+I2C_WRITE); i2c_write(LM75_SET); // Config Register auswählen i2c_write(21); i2c_write(0); i2c_stop(); while(1) { lcd_write1("Temparatur"); wait_ms(100); lcd_goto(2, 1); wait_ms(100); i2c_start_wait(LM75_ADR+I2C_WRITE); // set device address and write mode i2c_write(LM75_TEMP); i2c_rep_start(LM75_ADR+I2C_READ); // set device address and read mode ret1 = i2c_readAck(); // read first byte from LM75 ret2 = i2c_readNak(); // read second byte from LM75 i2c_stop(); sprintf(t, "%d", ret1); lcd_write1(t); wait_ms(100); lcd_write1(","); wait_ms(100); ret2 &= 0x80; if(ret2 == 0b00000000) lcd_write1("0"); else lcd_write1("5"); wait_ms(100); wait_ms(200); wait_ms(200); wait_ms(200); wait_ms(200); wait_ms(200); wait_ms(200); wait_ms(200); wait_ms(200); wait_ms(200); lcd_home(); } } hallo ich bin noch ma undzwar ich nutze den oben genannten code. und benutze das Avr board 2 und nen lm 75 und wollte wohl das ich bei bestimmten temparaturen ports anschalten kann und ich hab gelesen das ich da was umwandeln muss. weiß nur nich was und wie. wollte dann einach über if( temparatur über zb 20) dann halt Port.... geht das so einfach? mfg Blade kann ich da nich einfach If(t >= 20) dann tu .....??
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.