PS: Und man definiert keine Funktionen innerhalb von anderen Funktionen in C.


Abselut richtig ändere ich sofort bin schon fast blind vor lauter Computer.
Und ein abseluter Noob was "C" angeht. Ich Quäle mich so

ret habe ich nur testweise ausgegeben um zu schauen ob was es ausgibt.

Code:
#include <avr/io.h>
#include <stdio.h>
#include <stdint.h>
#include <util/delay.h>
#include <avr/interrupt.h>



#include "lcd.c"
#include "lcd.h"
#include "i2cmaster.h"
#include "twimaster.c"

#define lm75 0x90
uint8_t msb_temp;
uint8_t lsb_temp;
uint16_t temp_wrd;

uint8_t ret;

char Buffer[20];


void temperfassung(void)
	{			
		ret = i2c_start(lm75+I2C_READ);
		
		if (ret == 0)
			{		
				msb_temp = i2c_readAck();
				lsb_temp = i2c_readNak();
				
				lcd_clrscr();
				lcd_gotoxy(5,1);
				lcd_puts( "GEHT");
			}
			else
			{
				lcd_clrscr();
				lcd_gotoxy(5,1);
				lcd_puts( "FEHLER");				
			}
		i2c_stop();				
	}



int main(void)
{
	
	lcd_init(LCD_DISP_ON);
	lcd_clrscr();
	
	i2c_init();
	
    while(1)
    {
		
		temperfassung();
		
		temp_wrd = (msb_temp << 8 | lsb_temp);
		itoa(temp_wrd ,Buffer, 10 );
		
		lcd_gotoxy(0,0);
        lcd_puts( "Temperatur:");
		lcd_gotoxy(0,1);
		lcd_puts(Buffer);
		
		_delay_ms(500);
						 
    }
}