hatamı gösterebilir misiniz

Başlatan fryrmnd, 21 Temmuz 2011, 14:26:38

fryrmnd

Usart kesme ile picden gelen veriyi başka bir pic ile almak istiyorum  ama henüz isiste sonuç alamadım. En aşağı 20 başlık inceledim datasheeti defalarca inceledim.Sanırım kodda mantık hatam var ama artık hiçbirşey göremiyorum. Göz atabilirmisiniz
alıcı
DEFINE LCD_DREG		PORTB	
DEFINE LCD_DBIT			4		
DEFINE LCD_EREG		PORTB	
DEFINE LCD_EBIT			3		
DEFINE LCD_RSREG	PORTB	
DEFINE LCD_RSBIT		2				
DEFINE LCD_BITS			4	
DEFINE LCD_LINES		2

DEFINE OSC 4
INTCON=%11000000
CMCON=7
ADCON1=7

define HSER_RCSTA 90h   
DEFINE HSER_TXSTA 24h
DEFINE HSER_SPBRG 25
DEFINE HSER_CLROERR 1

PORTA=0
PORTB=0
PORTD=0
PORTE=0
TRISA=0
TRISB=0
TRISD=0
TRISE=0
TRISC=%10000000



SYMBOL GIE=INTCON.7
SYMBOL PEIE=INTCON.6
SYMBOL RCIE=PIE1.5
SYMBOL RCIF=PIR1.5



TEMP VAR BYTE
VERIRX VAR BYTE

ON INTERRUPT GOTO KESME

RCIE=1
PEIE=1
GIE=1

PAUSE 300
LCDOUT $FE,1

BASLA:

pauseus 100
IF VERIRX=5 THEN
LCDOUT $FE,$80,"ALINDI"
ENDIF


GOTO BASLA



DISABLE
KESME:
GIE=0
TEMP=RCREG


HSERIN [DEC VERIRX]

GIE=1

RESUME
ENABLE


verici
DEFINE LCD_DREG		PORTB	
DEFINE LCD_DBIT			4		
DEFINE LCD_EREG		PORTB	
DEFINE LCD_EBIT			3		
DEFINE LCD_RSREG	PORTB	
DEFINE LCD_RSBIT		2				
DEFINE LCD_BITS			4	
DEFINE LCD_LINES		2

DEFINE OSC 4
INTCON=%11000000
CMCON=7
ADCON1=7

define HSER_RCSTA 90h   
DEFINE HSER_TXSTA 24h
DEFINE HSER_SPBRG 25
DEFINE HSER_CLROERR 1

PORTA=0
PORTB=0
PORTD=0
PORTE=0
TRISA=0
TRISB=0
TRISD=0
TRISE=0
TRISC=%10000000




SYMBOL GIE=INTCON.7
SYMBOL PEIE=INTCON.6
SYMBOL RCIE=PIE1.5
SYMBOL RCIF=PIR1.5

VERITX VAR BYTE



PAUSE 300
LCDOUT $FE,1

VERITX=5

BASLA:

LCDOUT $FE,$80,"VERICI"

PAUSE 1000

LCDOUT $FE,1
LCDOUT $FE,$80,"YOLLANIYOR"
HSEROUT [DEC VERITX]

END

My75

END  öncesi GOTO BASLA 'yok mesela
Tomurcuk için çaba göstermeyen dal,odun kalmaya mahkumdur...

fryrmnd

Hocam sadece 1 kez yollamak istedim.Farkedermi acaba.Alıcının kaçırma ihtimali varmı.Bir deneyeyim sonucu yazayım.

fryrmnd


My75

#4
Birde kesmelerde pause yada pauseus sorun yaratır..Gecikmeyi olduğunca kısa tutmak gerekir.

Genelde gecikme

pauseus 10:pauseus 10:pauseus 10:pauseus 10

yada

for zaman=1 to 100
pauseus 1
next

gibide yapılabilir..

Amaç gecikme içinde program ilerlerken  kesmeye yakalanmamaktır..İlk zamanlar bende bu hatayı çok yaptım..
Tomurcuk için çaba göstermeyen dal,odun kalmaya mahkumdur...

fryrmnd

hocam pauseus ı da kaldırdım.Zaten bi anlamı varmı.Dediğiniz gecikme içinde kesma alabilcek şekilde gecikme oluşturmayı biliyordum zaten.İlk başta pauseus sız şekilde denedim.Birisi öyle  bir pauseus koymuş,çalılşmayınca bende ekleyeyim dedim.Çalışmama ihtimalini iyice azalttım ama.Dediğim gibi pauseus ı kaldırınca da çalışmadı.Kodda başak hata gözüküyor mu hocam.isiste 877a ların tx-rx leri çapraz bağladımm.Sorun ne olabilir acaba :(

My75

Öncelikle virtual terminal ile vericiyi test et ,picler için gerekli ayarları yapıyorsundur umarım.Kristal gibi v.s
Tomurcuk için çaba göstermeyen dal,odun kalmaya mahkumdur...

My75

#7
Birde baud belirtmemişsin...

DEFINE HSER_BAUD  2400 
Tomurcuk için çaba göstermeyen dal,odun kalmaya mahkumdur...

fryrmnd

877a da properties kısmından 4 mhz seçiyorum.osiloskop ile baktığıımda palsları görüyorum.virtal terminalde ne gözükür decimal 5 değeri için.virtual terminali iyi bilmiyorum.inverted felan mı seçmek gerekiyo özelliklerinde.877a lara krisatal bağlamdım.isis bunu yapıyor galiba dimi

fryrmnd

hocam cevaplarınız için teşekkürler. şu başlıkta  https://www.picproje.org/index.php/topic,13841.0.html
ete hoca  spbrg 25 ile belirlemiş diye düşündüm. birde öyle deneyeyim.

My75

DEFINE HSER_RCSTA 90h   
DEFINE HSER_TXSTA 20h   
DEFINE HSER_BAUD  2400 
DEFINE HSER_SPBRG 25 

böyle dene..
Tomurcuk için çaba göstermeyen dal,odun kalmaya mahkumdur...

fryrmnd

olmadı hocam ya kodda bir hatam var.şemada desem rx i tx e, tx i de rx e bağladım.alıcının lcd de hiç birşey gözükmüyor.valla gene kafayı yicem.ilk denemede çalıştırsam zaten bişeyi dişimi kıracam

My75

#12
Birde neden dec kullanıyorsun?
HSEROUT [VERIRX]
HSERIN    [VERIRX]

olarak dene..
Tomurcuk için çaba göstermeyen dal,odun kalmaya mahkumdur...

fryrmnd


fryrmnd

hocam oldu be  :) Allah razı olsun. Neden de kabul etmiyo ki