Hi!
I try to read a SMS from GSM (Sonyericsson T290i) to PIC16f628-20
via USART(async mode:9600/8data bit/1 stop bit /no parity) by polling routine.
The data which comes from gsm (as reply to AT commands;commands send by PIC)to PIC I can see
all this in hyper terminal window because the receive line from gsm to pic is also to PC connected (via MAX of course).The answers are expected
1) AT+CPMS="ME" ANSWER:+CPMS.........OK
2) AT+CMGF=1 ANSWER +CMGF....OK
3) AT+CMGR=1 ANSWER: +CMGR...............OK

I say "comes " not "read data " because I can't read they , although they are present on RB1 (RX-input pin);it seems RB1 pin would be bad .

See my code:

here is the end of tx_routine

rx _routine:
btfss PIR1,RCIF ;character received?
goto $-1 ;no
btfsc RCSTA,FERR ;frame error?
goto frameerror ;yes frame error
btfss RCSTA,OERR ; overrun error?
goto noerrors ;no overrun err jump at noerrors
bcf RCSTA,CREN ; yes ,overrun err ,clear errors
bsf RCSTA,CREN ;enable reception again
goto send_again
frameerror:
movf RCREG,W
goto send_again
noerrors
movf RCREG,W ;
,
,
,

;PORTB PROGRAMMING
bcf STATUS,RP0 ;BANK0
clrf PORTB
movlw B'11100110' ;BIT 7,6,5,2,1 AS INPUTS REMAINDER AS OUTPUTS
bsf STATUS,RP0 ;BANK1
movwf TRISB
BSF OPTION_REG,7 ;PORTB PULL-UP DISABLE

;usart programming
movlw d'51' ;Fosc=8000000hz;BRGH=1;==>>baude rate=9600
movwf SPBRG
movlw b'00100100' ;set:TXEN(ENABLE TX)/SET: BRGH (high speed)/ CLEAR:SYNC (ASYNC MODE)
movwf TXSTA
bcf STATUS,RP0 ;bank0

bsf RCSTA,SPEN ; serial port enable
bsf RCSTA,CREN ;enable continuous receive
bcf RCSTA,ADEN ;DISABLE ADDRESS DETECTION
bsf STATUS,RP0 ;bank1
bcf PIE1,RCIE ;disable receive's interrupts
bcf PIE1,TXIE ;disable transmit's interrupts

movlw b'10100000' ;set GIE(enable general int) & set T0IE(enable timer0 interrupts)
movwf INTCON


Welcome for any suggestion

Thank you !