Picproje Elektronik Sitesi

DERLEYİCİLER => Diğer Derleyiciler => IAR => Konuyu başlatan: engin_ - 16 Haziran 2006, 18:24:40

Başlık: IAR kullanıcı kütüphaneleri
Gönderen: engin_ - 16 Haziran 2006, 18:24:40
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
 }  
}