gpt4 book ai didi

c - 为什么pic18f46k40 Timer0不发生溢出

转载 作者:行者123 更新时间:2023-11-30 16:34:20 25 4
gpt4 key购买 nike

我正在使用调试功能来检查 TMR0IF 标志,但它没有发生。它卡在 while(PIR0bits.TMR0IF ==0) 处。请指教。

#define _XTAL_FREQ  64000000
#define ACM_STEP_TRIS TRISAbits.TRISA4
#define ACM_STEP LATAbits.LATA4
#define ACM_ENABLE_TRIS TRISAbits.TRISA5
#define ACM_nENABLE LATAbits.LATA5

ACM_STEP_TRIS =0;

void main(void)
{
T0CON0bits.T0OUT = 0;
T0CON0bits.T016BIT = 1; // TMR0 is a 16-bit timer
T0CON0bits.T0OUTPS = 0; // No prescaler
T0CON1bits.T0CS =0b010; //Clock source is Fosc/4
T0CON1bits.T0ASYNC =0; //Input to TMR0 counter is synchronized to Fosc/4
T0CON1bits.T0CKPS =0; //Prescaler 1:1

while (1){

ACM_nENABLE =0; // Turn on stepper motor
__delay_ms(2);

ACM_STEP ^=1;
TMR0H = 0xFD;
TMR0L = 0xE8; // Load TMR0L
T0CON0bits.T0EN = 1; //Timer Module is enabled
while(PIR0bits.TMR0IF ==0);
T0CON0bits.T0EN = 0; //Turn off Timer
PIR0bits.TMR0IF = 0; // Clear TF0 flag

}
return;
}

最佳答案

请查看这个答案:http://www.edaboard.com/showthread.php?t=197899
他们检查另一个寄存器(INTCONbits 而不是 PIR0bits),一切正常。

关于c - 为什么pic18f46k40 Timer0不发生溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49359629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com