HSEROUT – PBP Türkçe

HSEROUT [Item {,Item...}]

Donanımsal olarak asenkron seri haberleşmeyi destekleyen cihazların, donanımsal seri portu üzerinden bir veya birden fazla veriyi göndermek için kullanılır Gönderilecek veriler Item parametresi ile belirtilir.

HSEROUT, PicBasic’de bulunan asenkron seri haberleşme fonksiyonlarından biridir. Bu fonksiyon, sadece donanımsal olarak USART birimi olan cihazlarda kullanılabilir. Seri çıkış 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 HSER_RCSTA 90h

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

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

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

HSER_RCSTA, HSER_TXSTA ve HSER_SPBRG sırasıyla PIC içerisinde bulunan, RCSTA, TXSTA ve SPBRG adlı yazmaçlara (“register”) DEFINE ile belirtilmiş onaltılık tabandaki değerleri atar. Kullanılan cihaza göre en doğru bilgiyi edinmek için, cihazın Microchip tarafından hazırlanmış kullanma kılavuzuna (“datasheet”) bakılmalıdır.

TXSTA yazmaçının (“register”), BRGH biti (bit 2) “baud rate” üreticisinin yüksek hızı modunu kontrol eden bir bittir. Bazı osilatör değelerinde, bazı “baud rate” değerlerini düzgün bir şekilde elde etmek için bu bitin 1 olarak ayarlanması gerekmektedir. Bu, HSER_TXSTA parametresinin 20h yerine 24h ile ayarlanması ile mümkündür. Donanımsal seri iletişim “baud rate” tablosu ve detaylı bilgiler için kullanılan cihazın Microchip tarafından hazırlanmış kullanım kılavuzuna (“datasheet”) bakılabilir.

HSEROUT 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.

Ö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 HSER_EVEN 1

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

HSER içeren, DEFINE ile yapılan tüm tanımlamar, HSERIN ve HSEROUT fonksiyonlarını da etkilemektedir.

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ı HSEROUT fonksiyonu kullanıldığında uygun bir sürücü devresi kullanılmalıdır.

2 adet donanımsal seri portu bulunan cihazlarda, PIC17Cxxx serisi gibi, HSEROUT fonksiyonu sadece ilk porta ulaşacaktır. İkinci port sadece yazmaçlara (“register”) direkt erişim ile ayarlanıp, okunabilir. Alternatif olarak aşağıdaki DEFINE ifadesi ile HSEROUT komutuna birinci port yerine, ikincisini kullanması söylenebilir.

DEFINE HSER_PORT 2

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

Manipülatör İşem
{I}{S}BIN{1..16} İkilik (“binary”) tabanda gönderme yap.
{I}{S}DEC{1..5} Onluk (“decimal”) tabanda gönderme yap.
{I}{S}HEX{1..4} Onaltılık (“hexadecimal”) tabanda gönderme yap.
REP c\n c karakterini n kere gönder.
STR ArrayVar{\n} n karakterden oluşan “string” (katar) tipindeki veriyi gönder.

Örnek

‘ Donanımsal seri port üzerinden B0 değişkenin ondalık tabandaki değerini yolladıktan sonra yeni satıra geçme komutunu gönderir.
HSEROUT [dec B0,10]

Bunlara da Bakın

  • SERIN
  • SERIN2
  • HSERIN
  • SEROUT
  • SEROUT2

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