#ifdef I2c_LCD #define LcdAddress 0x74 #define LBUF 8 void Lcd_init(u08 mode) { u08 lb[LBUF], *p= lb; if( ! i2cinit ) i2c_init(); *(p+0)= 0x25; *(p+1)= 0x06; *(p+2)= 0x24; *(p+3)= ( mode ) ? 0x0f : 0x0c; i2c_send( LcdAddress,0x00,4,p); // 1..6 !! } void Send_Lcd( u08 co, u08 *p, u08 l) { i2c_send( LcdAddress, co,l,p); } void Clr(void) { u08 c=0x01; Send_Lcd( 0x00, &c, 1 ); } void Line( u08 pos ) { u08 c; c= ( pos == 2 ) ? 0xc4 : 0x84; Send_Lcd( 0x00, &c, 1 ); } void Lcd_Text( u08 *p ) { u08 B[LBUF], *L= B, n=0; while( *p && n < LBUF ) { n++; *L++ = 0x080 | *p++; } Send_Lcd(0x40,B,n ); } #endif