18F452 usart problemi

Başlatan Ryher, 04 Nisan 2010, 21:25:20

Ryher

Arkadaşlar aşağıdaki kodlarda eksiklik varmı? proteusta usart çalışıyor fakat gerçek hayatta sadece veri gönderme çalışıyor veri alma işlemi çalışmıyor devre doğru tekrar tekrar kontrol ettim. pic bazen veri aldığını zannediyor fakat RCREG boş oluyor. yani 0x00 değeri döndürüyor. acaba picmi bozuk. micro C ilede basitbir program denedim aynı problem oluyor.

Device 18F452
Xtal 10
@CONFIG_REQ
 @__CONFIG config1h, OSCS_OFF_1 & HS_OSC_1
 @__CONFIG config2l, BOR_OFF_2 & BORV_20_2 & PWRT_OFF_2
 @__CONFIG config2h, WDT_OFF_2 & WDTPS_128_2
 @__CONFIG config3h, CCP2MX_ON_3
 @__CONFIG config4l, STVR_OFF_4 & LVP_OFF_4 & DEBUG_OFF_4
Declare LCD_DTPin PORTD.4
Declare LCD_RSPin PORTD.2
Declare LCD_ENPin PORTD.3
Declare LCD_Interface 4
Declare LCD_Lines 2
Symbol led =PORTC.0
Declare Hserial_Baud 9600
Declare Hserial_RCSTA %10010000
Declare Hserial_TXSTA %00100000
Declare Hserial_Clear = On
Declare Hserial_SPBRG 15

Dim x As Byte

Print $fe,1,"Hosgeldin "

MAIN:
   
    HSerIn 2000,MAIN,[x]
    Print $fe ,$c0, x

GoTo MAIN
End

Ryher

Yardımın için teşekkür ederim.
verdiğin hex dosyasını proteusta denedim "L200111111" komutuna yanıt aldım sorun yok.

pice attım giriş yazıları var fakat komuta cevap yine yok.kullandığım ara kablosunda sorun yok başka bir cihazda sorunsuz kullanıyorum ve picten veri gönderebiliyorum. elimde başka pic olmadığı için deneyemiyorum. sanırım yarın yeni pic alıp deneyecem.

Ryher

max 232 de ve ara kablolarda problem yok başka bir cihazda çalışıyor. picte çalışıyor senin hexi çalıştırdı. fakat sadece picin tx işlemi çalışıyor rx çalışmıyor. ilginç olan tarafıda o.  devredeki bağlantıda sorun yok defalarca kontrol ettim. hatta denediğim bazı basit kodlarda RCIF bayrağı 1 olduğu halde RCREG yazmacını okuduğumda 00 bilgisi geliyor. yani   
rx pininde bilgiyi okuyor fakat bilgi ortada yok. pic i değiştirip denemek lazım.

Ryher

son denediğim kod bu.

devrede PIR1.5 bilgi yokken lcd de 0 görünüyor. bilgi geliyor ve bu bayrak 1 oluyor fakat bilgiyi okuduğumda bilgi yok RCREG yazmacı 00 görünüyor. led de yanıp sönüyor. çok ilginç bir durum sanırım pic arızalı pic te tx çalışıyor rx çalışmıyor. sanırım çin malı bir pic  :).

Device 18F452
Xtal 4
@CONFIG_REQ
 @__CONFIG config1h, OSCS_OFF_1 & HS_OSC_1
 @__CONFIG config2l, BOR_OFF_2 & BORV_20_2 & PWRT_OFF_2
 @__CONFIG config2h, WDT_OFF_2 & WDTPS_128_2
 @__CONFIG config3h, CCP2MX_OFF_3
 @__CONFIG config4l, STVR_OFF_4 & LVP_OFF_4 & DEBUG_OFF_4
Declare LCD_DTPin PORTD.4
Declare LCD_RSPin PORTD.2
Declare LCD_ENPin PORTD.3
Declare LCD_Interface 4
Declare LCD_Lines 2
Symbol led =PORTC.0
Declare Hserial_Baud 9600
Declare Hserial_RCSTA %10010000
Declare Hserial_TXSTA %00100100
Declare Hserial_Clear = On
Declare Hserial_SPBRG 25

Dim x As Byte
Print $fe,1
DelayMS 500

x=RCREG
x=0
MAIN:
    Print $fe,2,Dec PIR1.5
    If PIR1.5=1 Then
       High led
       Print $fe,2,Dec PIR1.5
       HSerIn 1000,MAIN,[x]
       Print $fe ,$c0, x       
       DelayMS 2000
       Low led
    EndIf

GoTo MAIN
End