bilgisayarla seri iletişimle alakalı soru

Başlatan picpicpic, 24 Şubat 2013, 17:12:28

picpicpic

merhaba, bilgisayarımdan pic'e veri göndermek istiyorum, ama pic o arada işlemler yapıyor yani sürekli veri gelip gelmediğini kontrol edecek durumu yok, bilgi 8 bit halinde geliyor, yani verinin öncesinde bir tane 1 biti gelse kesmeye sokucam ve al diycem, bu öncelikli 1 bit'i göndermek için ne yapabilirim?

FEHMİ_ASM

  Sürekli veri gelip gelmediğini kontrol etmenize gerek yok zaten. Kesme alt programı içerisine RXIF için gerekli izinleri verin, herhangi bir kesme oluştuğunda kesme alt programa girecektir. O zaman kesmenin hangi kaynaktan olduğunu basit bir sorgulama mantığı ile belirleyin.

z

Eğer seri iletişim için donanım kullanmayıp yazılımla dataları yakalıyorsan Rx data hattından interrupt üreten herhangi bir pine bağlantı yapman yeterli.

Data bitinden önce zaten start biti gelir ve bu senin istediğin şey.

Data hattı normalde H da bekler start biti ile hat L'a iner. 1 bit süresi boyunca L'de bekler sonrasında senin 8 bit dataların gelir. İşte bu start bit seni interrupt rutinine sokmaya yeter.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

picpicpic

sanırım büyük bir teorik eksikliğimin farkına vardım, 8N1 verisinde start bit'i varmıdır? yani ilk başta 1 geliyor ardından 8 tane bit geliyor bu şekildemidir?

FEHMİ_ASM

   Usart iletişimi diğerlerinden biraz farklı. Normalde High seviyede bekleyen data hattının Low'a çekilmesi ile Start gönderilmiş olur. Alındıktan sonra invert etme gerekliliği de buradan geliyor.

sadogan

rs232 hattı H da bekler.
Start biti L dur.
LxxxxxxxxEH yapı bu şekilde.
L=start
x=1 bitlik veri
E= eşlik biti
H=stop