Ynt: 16f1827 rda kesmesi

Başlatan bulutay, 04 Ağustos 2016, 16:56:38

bulutay

rda kesmesini bir türlü yaptıramadım pic e . main e yazdıgım zaman oluyor fakat diger kesmeler pasifleşiyor bu sefer de.



#include <main.h>
#define LCD_ENABLE_PIN PIN_B5
#define LCD_RS_PIN PIN_B1
#define LCD_RW_PIN PIN_B2
#define LCD_DATA4 PIN_B4
#define LCD_DATA5 PIN_B7
#define LCD_DATA6 PIN_A2//a7
#define LCD_DATA7 PIN_A1//A6

#include <lcd.c>
int saat=10,dakika=10,saniye=10,d=0,f=0,g=0, h=0,p;
#INT_EXT
void  EXT_isr(void)
{saat=saat+1;
if(saat==24)saat=0;

}

#INT_TIMER0
void  TIMER0_isr(void)
{set_timer0(1);
g++;if(g==30){g=0;
saniye++;
if(saniye==60) {
  saniye=0;dakika++;
  if(dakika==60)
  {dakika=0;saat++;
  if(saat==24)
  {saat=0;
  }
}
}}

}

#INT_RDA
void  RDA_isr(void)
{
p=getch();

}


void main()
{
   setup_timer_2(T2_DIV_BY_1,132,1);      //66,5 us overflow, 66,5 us interrupt

   setup_ccp1(CCP_PWM|CCP_SHUTDOWN_AC_L|CCP_SHUTDOWN_BD_L);
   setup_ccp2(CCP_PWM|CCP_SHUTDOWN_AC_L|CCP_SHUTDOWN_BD_L);
   setup_ccp3(CCP_PWM);
   setup_ccp4(CCP_PWM);
   set_pwm1_duty((int16)0);//529
   set_pwm2_duty((int16)0);
   set_pwm3_duty((int16)0);
   set_pwm4_duty((int16)0);

   enable_interrupts(INT_EXT);
   enable_interrupts(INT_TIMER0);
   enable_interrupts(INT_RDA);
   enable_interrupts(GLOBAL);
set_timer0(1);
   lcd_init();

   while(TRUE)
   {
   lcd_gotoxy(1,2);
   printf(lcd_putc,"saat=%d.%d.%d",saat,dakika,saniye);
delay_ms(400);
lcd_gotoxy(2,0);
   printf(lcd_putc,"saat");
delay_ms(400);
   
     
     
    //  lcd_gotoxy(2,0);  printf(lcd_putc,"frrrGHHHGGGGG=");  delay_ms(400);
      //TODO: User Code
    /*  set_pwm1_duty((int16)300);//529
   set_pwm2_duty((int16)0);
   set_pwm3_duty((int16)0);
   set_pwm4_duty((int16)0); delay_ms(1000);
    set_pwm1_duty((int16)0);//529
   set_pwm2_duty((int16)300);
   set_pwm3_duty((int16)0);
   set_pwm4_duty((int16)0);delay_ms(1000);
   set_pwm1_duty((int16)0);//529
   set_pwm2_duty((int16)300);
   set_pwm3_duty((int16)0);
   set_pwm4_duty((int16)0);delay_ms(1000);
   set_pwm1_duty((int16)0);//529
   set_pwm2_duty((int16)0);
   set_pwm3_duty((int16)0);
   set_pwm4_duty((int16)300);delay_ms(1000);*/
   }

}
 


mesaj birleştirme:: 04 Ağustos 2016, 16:58:14

saat yazısının yerine p deişkeni var

ziyaretci

#use rs232(baud=?,xmit=?,rcv=?,stop=?,parity=?) 


RDA kesmesini kullanabilmen için yukarıdaki fonksiyonu tanımlaman gerekli diye biliyorum.