HSERIN2 – PBP Türkçe

HSERIN2 {ParityLabel,}{Timeout,Label,}[Item{,...}]

Donanımsal olarak asenkron seri haberleşmeyi destekleyen cihazların, ikinci donanımsal seri portu üzerinden bir veya birden fazla veriyi almak için kullanılır.

HSERIN2, PicBasic’de bulunan asenkron seri haberleşme fonksiyonlarından biridir. Bu fonksiyon, sadece donanımsal olarak USART birimi olan cihazlarda kullanılabilir. Seri giriş pinini ve diğer parametreleri öğrenmek için cihazın kullanım kılavuzuna (“datasheet”) bakılmalıdır. Seri haberleşme parametreleri ve “baud rate” değeri DEFINE ile belirtilir.

‘ Seri iletişim ile bilgi almak için alma yazmacını (“register”) ayarla.
DEFINE HSER2_RCSTA 90h

‘ Seri iletişim ile bilgi göndermek için gönderme yazmacını (“register”) ayarla.
DEFINE HSER2_TXSTA 20h

‘ “Baud rate” değerini ayarla.
DEFINE HSER2_BAUD 2400

‘ SPBG yazmacını (“register”) direkt olarak ayarla. (Normalde HSER_BAUD ile ayarlanır.)
DEFINE HSER2_SPBRG 25

HSERIN2 fonksiyonu “baud rate” değerini hesaplarken osilatör hızının 4 Mhz olduğunu var saymaktadır. Diğer osilatör hızlarında fonskiyonun doğru çalışabilmesi için, osiltaör hızı DEFINE ifadesi programda belirtilmelidir.

Opsiyonel olarak Timeout ve Label parametreleri, belirlenen bir süre içerisinde herhangi bir karakter alınmadığı takdirde programın, istenilen bir yerden devam etmesini sağlamak için kullanılabilir. Timeout parametresine verilen değer milisaniye cinsinden süreyi belirtmektedir. Eğer seri haberleşme giriş pini Timeout parametresi ile belirtilen süre kadar boşta kalırsa, program, Label parametresi ile belirtilmiş kısma atlayacaktır.

Öntanımlı olarak seri iletişim veri formatı 8N1, 8 data biti, eşlik (“parity”) yok, 1 bitiş (“stop”) biti, olarak ayarlanmıştır. 7E1, 7 data biti, çift eşlik (“parity”), 1 bitiş (“stop”) biti veya 7O1, 7 data biti, tek eşlik (“parity”), 1 bitiş (“stop”) biti ayarlaması DEFINE kullanılarak yapılabilir.

‘ Çift eşlik (“parity”) isteniyorsa
DEFINE HSER2_EVEN 1

‘ Tek eşlik (“parity”) isteniyorsa
DEFINE HSER2_ODD 1

HSER2 içeren, DEFINE ile yapılan tüm tanımlamar, HSERIN2 ve HSEROUT2 fonksiyonlarını da etkilemektedir.

Opsiyonal olarak ParityLabel parametresi ile programın içinde bir etiket belirtilebilir. Program, eşlik (“parity”) hatası içeren bir karakter alması durumda belirtilen etiketten devam edecektir. Bu özellik sadece yukarıda verilen iki adet tanımlamanın birinin kullanılması durumunda kullanılmalıdır.

Seri haberleşme ile bilgi alımı donanımsal olarak yapıldığından, RS-232 sürücüsü (Örn: MAX232) kullanmadan sinyal tipini terslenmiş (“inverted”) şekilde algılamak mümkün değildir. Bundan dolayı HSERIN2 fonksiyonu kullanıldığında uygun bir sürücü devresi kullanılmalıdır.

HSERIN2 fonksiyonu, SERIN2 fonksiyonu ile aynı manipülatörlerin kullanımını desteklemektedir. Konu ile ilgili detaylı bilgi için lütfen SERIN2 fonksiyonun açıklamasına bakınız.

Manipülatör İşem
BIN{1..16} İkilik (“binary”) tabanda okuma yap.
DEC{1..5} Onluk (“decimal”) tabanda okuma yap.
HEX{1..4} Onaltılık (“hexadecimal”) tabanda okuma yap.
SKIP n Alınan n karakteri atla.
STR ArrayVar\n{\c} n karakterden oluşan ya da opsiyonel olarak c karakteriyle biten “string” (katar) tipindeki veriyi al.
WAIT ( ) Belirtilen karakter dizisi gelene kadar bekle.
WAITSTR ArrayVar{\n} Belirtilen “string” (katar) gelene kadar bekle.

Bunlara da Bakın

  • SERIN
  • SERIN2
  • SEROUT
  • SEROUT2
  • HSERIN
  • HSEROUT
  • HSEROUT2

Tüm fonksiyonların listesine buradan bakabilirsiniz.

Bu yazı, “İzoelektronik – Atölye” grubu tarafından, 90alper90 ve Hazar kullanıcı adlı grup üyelerinin ortak, aktif çalışması ile hazırlanmıştır.



Bağlantılı Yazılar

Yorum yapılmamış. Yapılmış

Yazıyı paylaşın. | Yazı ile ilgili sorun bildirin.

Yorum Yapın ya da Soru Sorun

Yorum yapabilmeniz ya da soru sorabilmeniz için giriş yapmanız gerekmektedir.
Hoşgeldiniz, Ziyaretçi.Lütfen giriş yapın veya kayıt olun.
E-posta adresinize aktivasyon iletisi gelmediyse lütfen buraya tıklayın.

Arama Yap
Üye Alanı
 
 
Kayıt Ol || Aktivasyon Kodu İste
Teknik Yardım
5 tane konu henüz çözüme ulaşmamış. Belki siz yardımıcı olabilirsiniz ya da sorunlarınızı çözmenize başkaları yardım edebilir. Teknik Yardım bölümüne buradan ulaşabilirsiniz.
Destek İçin
İzoelektronik Facebook Sayfası
İzoelektronik'e Facebook sayfamıza katılarak destek olabilir, eklenecek yeni yazıları ve gelişmeleri Facebook üzerinden de takip edebilirsiniz.
Güncel Kalın

Eklenen Yazılar E-posta Adresinize Gönderilsin

Bizi RSS ile de takip edebilirsiniz.

Translate
Son Yorumlar
  • 90alper90: Merhaba Ozan Bey, Ölçümleri aldıktan sonra aynı anda göstermekte bir sıkıntı yok. Önemli olan 3 ölçümü de alabilmek. Bir önceki...
  • ozigeldi: alper teşekkür ederim bu arada ben ozan memnun oldum ben bu 3 ölçümü aynı lcd ekranda gösterebilimiyim pıc’e yeni başladım ve bu...
  • botan: meraba malzemeleri tedarik ettim motor olarak step motor aldım sizin yüklediğiniz programın aynısını yüklesem sorun yaşarmıyım acaba, yeni...
  • kuvvetkmc: Şöyle söyleyim; Anakart üzerinde ki; R1-R2-R3-R4-R4-R5-R6-R7-R8-R9- R10-R11-R12-R13-R14-R15-R16-R1 7-R18-R19 C1-C2-C3-C4 Q1;...
  • İzoelektronik: @kuvvetkmc Sorun çıkaran dirençleri daha net olarak belirtebilirseniz daha kolay yardımcı olunabilir. @botan Belirttiğiniz devreler...
drupal statistics module