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.
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.
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.
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
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ış
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.