Pc ile Pic arasında seri iletişim problemi

Başlatan esmerim33, 07 Mayıs 2007, 14:12:43

esmerim33

Microcode studio plus kullanıyorum aşağıdaki kodları yazdım

porta=0  :  portb=0  :  portc=1  :  portd=0
trisa=0  :  trisb=0  :  trisc=0  :  trisd=0
porte=0  : trise=0
adcon1=7
INCLUDE "modedefs.bas"
DEFINE HSER_RCSTA 90h
DEFINE HSER_TXSTA 20h
DEFINE HSER_BAUD 2400
DEFINE HSER_SPBRG 25
deger var byte
main:
hserout ["Cadcom"]
pause 1000
goto main
end


gördüğünüz gibi picden 1 sn aralıkla pc'ye "cadcom" gönderiyorum

/²Â"
68 $
ñÙၑ
›œ'
"
$
ñÙၑ
›œ'
"
$
ñÙၑ
›œ'
"
$
ñÙၑ
›œ'
"
$
ñÙၑ
›œ'
"
$
ñÙၑ



ama pc'de yukarıda saçma sapan karakterleri alıyorum sizce problem nerde ?

Pc'nin rx bacağını picde bulunan tx yani portc.6 bacağına bağlıyorum kullandığım işlemci Pic16F877 pic ile pc arasında ise 1k lık direnç var ayrıca baud rateler ayarlıdır sadece terslenip terslenmeme olayına kafam takıldı dikkat ederseniz aslında "cadcom" değerini gönderiyor fakat neden düzgün değil ? yardımlarınızı bekliyorum saygılar

Logan

@esmerim33, sanırım  programda ufak bir mantık hatası var.SPBRG registerine 25 yüklemişsin ve hemen üzerinde ise baud_rate 2400 demişsin.SPBRG registerine 25 yüklemekle baud_rate i 9600 olarak belirlemiş olursun.Sanırım problem bundan kaynaklanıyor.Eğer
DEFINE HSER_BAUD 2400

satırını
DEFINE HSER_BAUD 9600
olarak değiştirirsen büyük ihtimalle çalışacaktır.  :) Umarım işine yarar...

Not: Sistem bahsettiğin şekilde çalışır mı bilmiyorum ama her ihtimale karşı MAX232 kullanmanı tavsiye ederim...
İmza.

mcht

eğer simulasyon programı kullanıyorsan vitrual terminalin özelliklerinide yazdığın yazdığın kodlara göre ayarlamalısın baud rate, kaç data biti kullandığın ,stop biti, parity gibi
mCht