#include #include #include "uart.h" #include "i2cmaster.h" #include #include //UART Initialisierung #define BAUD 19200 #define FOSC 4000000 #define MYUBRR FOSC/16/BAUD-1 // Equation for Calculating, UBRRn Value, asynchronus normal mode #define L_Device_ADDRESS 69 //set #define L_Sensor_ADDRESS_Command 0x00 //set #define L_Sensor_ADDRESS_Command_Function 0x82 //set #define L_Sensor_ADDRESS_Control 0x01 //set 08? #define L_Sensor_ADDRESS_Control_Function 0x0C //set #define L_Sensor_ADDRESS_LSB_BYTE 0x04 //read #define L_Sensor_ADDRESS_MSB_BYTE 0x05 //read void USART_Init(unsigned int); void USART_Transmit( unsigned int); unsigned char USART_Receive( void ); void USART_Transmit_String(char *str); int main(void) { char i,status; //unsigned char ret; unsigned char Buffer[20]; i2c_init(); USART_Init(MYUBRR); _delay_ms(100); while(1) { status = i2c_start(L_Device_ADDRESS+I2C_WRITE); if (status==0){ i2c_write(L_Sensor_ADDRESS_Command); //write i2c_write(L_Sensor_ADDRESS_Command_Function); i2c_stop(); _delay_ms(100); i2c_start(L_Device_ADDRESS+I2C_WRITE); i2c_write(L_Sensor_ADDRESS_Control); //write i2c_write(L_Sensor_ADDRESS_Control_Function); i2c_stop(); _delay_ms(100); i2c_start(L_Device_ADDRESS+I2C_WRITE); i2c_write(L_Sensor_ADDRESS_LSB_BYTE); i2c_stop(); i2c_start(L_Device_ADDRESS+I2C_READ); i= i2c_readNak(); itoa(i,Buffer,10); USART_Transmit(Buffer); i2c_stop(); } else{ i2c_stop(); USART_Transmit('F'); } }}