Stahan 发表于 2022-9-10 22:26

定时器中断可以做延时函数吗?

unsigned int   num_time0;

void delay_TM0(unsigned int x)      
{

    OPTION_REGbits.TMR0CS=0;   
    OPTION_REGbits.PSA=1;      
    INTCONbits.T0IF=0;
    INTCONbits.T0IE=1;
    TMR0=0xAA;                  
    INTCONbits.GIE=1;
    num_time0=x;   
    while(num_time0);
}

void interrupt ISR(void)
{
    if(INTCONbits.TMR0IF==1)
    {
      TMR0=0xAA;
      INTCONbits.TMR0IF=0;
      num_time0--;
    }
}
页: [1]
查看完整版本: 定时器中断可以做延时函数吗?