diff --git a/lcd.c b/lcd.c index c0b3728..5ec3fcf 100644 --- a/lcd.c +++ b/lcd.c @@ -44,6 +44,22 @@ void lcd_nibble_out(unsigned char c, unsigned char cd) { lcd_out(out | rs ); } +void lcd_set_position(uint8_t row, uint8_t col){ + if(col >= LCD_WIDTH) + return; + + if(row==0) + lcd_nibble_out(0x80|col, 0); + if(row==1) + lcd_nibble_out(0xC0|col, 0); + if(row==2) + lcd_nibble_out(0x80|(col+LCD_WIDTH), 0); + if(row==3) + lcd_nibble_out(0xC0|(col+LCD_WIDTH), 0); + + char_counter = (row * LCD_WIDTH) + col; +} + //*************************************************************************************** // clear LCD void lcd_clear() { @@ -184,4 +200,4 @@ void lcd_write_P (const char *Buffer,...) } } va_end(ap); -} \ No newline at end of file +} diff --git a/lcd.h b/lcd.h index d94f3f4..13e895f 100644 --- a/lcd.h +++ b/lcd.h @@ -6,41 +6,43 @@ */ #ifndef __LCD_H__ - #define __LCD_H__ - - #include - #include - #include - #include - #include - #include - #include - #include - #include "i2c.h" - - #define LCD_I2C_ADDR 0x4E - - //Port Belegung am PCF8574 (1< +#include +#include +#include +#include +#include +#include +#include +#include "i2c.h" + +#define LCD_I2C_ADDR 0x4E + +//Port Belegung am PCF8574 (1<