ElectroHabit'te Ara

Hi-Tech C İçin UART-USART-Seri Port-Serial Port Kütüphanesi

   Merhaba arkadaşlar,
   Uzun zaman aradan sonra yeniden sizlere yararlı olacağını düşündüğüm bir kütüphane dosyası paylaşmak istiyorum. Bir sürü var fakat sorunsuz çalışanını bende çok arayarak buldum ve sizlerle paylaşmam gerektiğini düşünüyorum. Yine de sizler bildiğinizi okuyabilirsiniz tabi ki. Ama tavsiyem budur benim. Neyse kütüphane dosyasını paylaşayım önce buyrun linki;

https://yadi.sk/i/IsQstaHvmcUdu

Linkten indirip kullanabilirsiniz arkadaşlar. Kullanılması çok kolaydır. Hemen biraz bahsedeyim.
    İlk olarak ;
#include "uart.h" diyerek kütüphaneyi main dosyamıza import ediyoruz.
    İkinci olarak ;
UART_Init(300); diye bir satırımız olacak. Burada bahsetmek gerekirse kütüphanenin en güzel özelliklerinden biri istediğimiz BaudRate'de çalışabilmemiz. Gördüğünüz gibi ben standart BaudRate yerine başka bir rakam girmişim. Yani standart yazacak olursak UART_Init(9600); olacaktı. Neyse şimdi bu satır hakkında biraz konuşalım. Arkadaşlar BaudRate ne kadar yüksek tutulursa o kadar hızlı veri aktarımı olur. Peki diyeceksiniz ki neden sen 300 yapıp kullandın. Hemen önemli bir noktaya daha değineyim. Ben bunu kablosuz veri iletiminde kullandım. O yüzden kablosuzda hızlı veri iletimi veri kaybına sebep olduğundan olduğu kadar BaudRate değerini düşük tutmak gerekiyor. Ha bu arada şunu söyleyeyim. Diyebilirsiniz burada "o zaman BaudRate 1 yaz o zaman neden 300" diye fakat  zaman veri iletim mesafesi çok az olur. Yani ben 300 BaudRate değeri ile yaklaşık 200 mt. mesafeden hiç sorunsuz çalıştırdım cihazımı. O yüzden dikkatli bir değer ayarlanması gerekiyor. Evet arkadaşlar bu UART_Init satırını Port G/Ç ayarlarından hemen sonra Main içerisinde tanımlıyoruz.
     Üçüncü olarak ;
UART_Write('x'); satırımız var arkadaşlar. Ben sadece bu kadar bahsedeceğim dosyayı inceleyip özelliklerini öğrenirsiniz. Bu satırla veri yazma işlemi yapıyoruz. 'x' yerine istediğimizi yazıyoruz. Tek kurak yazacağımız verinin char olması. Yani eğer harf yazacaksak yada rakam yazacaksak '' gibi tek tırnak içinde yazılacak parantezlerin içine. Örnek olarak UART_Write(1); yazarsak bu char değil integer olur. Geçersiz sayılır. Bunun yerine UART_Write('1'); yazarsak buradaki 1 rakamı rakam değil karakter sayılır ve ASCII standartlarına göre kodlanarak iletimi yapılır.
    Evet arkadaşlar umarım faydalı bir yazı olmuştur. Soracağınız bir şeyler olursa mesajdan yazınız. Cevaplamaya çalışırım. Herkese bol kodlu günler dilerim.



Hiç yorum yok:

Yorum Gönder

Translate