Code:
DEFINE OSC 4


DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 0
DEFINE LCD_EREG PORTD
DEFINE LCD_EBIT 5
DEFINE LCD_RSREG PORTD
DEFINE LCD_RSBIT 6
DEFINE LCD_RWREG PORTD
DEFINE LCD_RWBIT 4
DEFINE LCD_BITS 4
DEFINE LCD_Lines 2


DEFINE HSER_RCSTA 90h'%10010000  
DEFINE HSER_TXSTA 24h'%00100100
DEFINE HSER_CLROERR 1
DEFINE HSER_BAUD 9600 
DEFINE HSER_SPBRG 25 
B var word
i var byte
H VAR BYTE[128]
G VAR BYTE[128]
TEMP VAR BYTE

symbol LED=PORTE.1
SYMBOL SCL=PORTC.3
SYMBOL SDA=PORTC.4

DATAYAZMA CON $A0
DATAOKUMA CON $A1
ZAMANYAZMA  CON $D0
ZAMANOKUMA  CON $D1
BEKLE CON 25

TRISA.0=1
TRISC.7=1
TRISC.6=0
TRISE.1=0 
 

INTCON = %11000000 ' enable global and peripheral and portb change interrupts
PIE1.5=1 'enable rx interrupt
PIR1.5=0 

LCDOUT $FE,1,"merhaba"
pause 2000

On Interrupt GoTo KESME
B=0

BASLA:  
LCDOUT $FE,1     
For i=0 to 127
H[i]=0
G[i]=0
NEXT
GOTO BASLA

Disable
KESME:

For i = 0 to 127
HSERIN [HEX2 H[i]]
nEXT i

i2cwrite sda,SCL,datayazma,B,[str H\128]
pause bekle
i2cread sda,SCL,DATAYAZMA,B,[STR G\128] 
For i = 0 to 127
HSEROUT[HEX2 G[i]]
IF i // 20 = 0 THEN
HSEROUT[13]
ELSE
HSEROUT[","]
ENDIF
NEXT
HSEROUT[13, "-bitti-", 13]     
PIR1.5=0
Resume
Enable
End
after resetting pic, problem solves but i can't do it while it is running. as far as i think, it is an overflow error. because when i send another packet before it is "sending the data package back to pc" operation complete, problem occurs... using buffer or overflow error cause this problem...