PIC'te Dış kesmeden rs232 veri alma

Başlatan ahmetgokce01, 27 Temmuz 2013, 16:21:52

ahmetgokce01

merhaba arkadaşlar ccs c de pic18f452 MCU kullanarak 2 adet rs232 modül haberleştiriyorum, birinci haberleştirdiğim modül picin donanımsal uart uçlarına tanımlı ve ordan haberleşiyor. İkinci modülü ise yazılımsal uartı ayarlayıp haberleştireceğim fakat bunu picin dış kesmesi ile yapmak istiyorum

örnek kod aşağıdaki gibidir;

#int_ext
void kesme_gelen(){
        unsigned int a;
        for(a=0; a<buffer_size; a++){
            gelen_veri[a]=fgetc(2.uart);
            if('\r'==gelen_veri[a]){     
               gelen_veri[a]='\0';
               break;           
           }
        }
}

bu şekilde yaptığımda derleyici şu ayarıyı veriyor;
Interrupts disabled during call to prevent re-entrancy:(@GETCH_2_)
kesme olmadan almak istediğimde alabiliyorum sadece kesme içinde veri almak istedimde bu uyarıyı veriyor ve çalışmıyor.
NOT:Uart modüller TTL seviyede ve dış kesme EXT_INT_EDGE(H_TO_L) olarak ayarlanmıştır.
Bu sorunun sebebi ne olabilir şimdiden teşekkürler.

ahmetgokce01

daha basit soracak olursam
dış kesme fonksiyonun içinde getc(); fonksiyonunu neden kullanamıyorum uyarı veriyor

#int_ext
void kesme_gelen(){
         
         karakter=getc();

}


ahmetgokce01

Daha önce konuşulmuş evet ama hiçbirinde aradığım soruna dair bir ip ucu bulamadım, neyse sorunu araştırıyorum çözünce cevabını yazacağım.