IAR kullanıcı kütüphaneleri

Başlatan engin_, 16 Haziran 2006, 18:24:40

engin_

Kullanılan fonksiyonlar kopyala yapıştır yöntemi ile alınıp kullanılabilir. Derlenmiş dosya ve başlık dosyası şeklinde de hazırlayacaktım ama IAR, GCC kadar tanıdık değil.

#include <io16f877.h>
#include <string.h>

void UsartInit(int BAUDRATE){
  TRISC|= 0xC0;                             // TX ve RX bacaklarini giris yap
  SPBRG = BAUDRATE;                         // Desimal olarak hesaplanmis deger
  TXSTA = 0x24;                             // Gönderim etkin ve yüksek hizda
  RCSTA = 0x90;                             // Usart etkin ve sürekli alma durumunda
}

void UsartTransmit_Char(char c){
  while( !TXIF );                           // Veri gönderimi tamamlana kadar bekle
  TXREG = c;                                // Tamamlandiktan sonra yeni veri yolla
}

void UsartTransmit_Array(char *c){
  char i;                                   
  for( i=0; i <= strlen(c); i++ ){
    UsartTransmit_Char(c[i]);               // Tek tek karekterleri yolla
  }
}

char UsartReceive(void){
  while( !RCIF );                           // Veri alimi tamamlana kadar bekle
  return RCREG;                             // Veriyi döndür
} 

void main(void){

  unsigned char b;

  UsartInit(25);                            // 4MHz, 9600 Baud Rate
  UsartTransmit_Array("Engin SAVSATLI");    // 
  UsartTransmit_Char(0x0d);                 // Enter karekteri yolla
  
  while(1){
    b = UsartReceive();                     // Basilan Tusu al
    UsartTransmit_Char(0x0d);               // Enter karekteri yolla
    UsartTransmit_Char( b );                // Basilan tusu geri yolla
  }  
}