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);
}
}
Lesezeichen