问题描述
我正在尝试使用计时器中断每2秒更改一次引脚状态。 MCU为PIC32MX250F128B,设置为以8 MHz运行,并且Pb_Clk = Sys_Clk。我正在将mikroC PRO用于PIC32。我有这样的代码:
void Timer1Interrupt() iv IVT_TIMER_1 ilevel 7 ics ICS_SOFT {
T1IF_bit = 0;
LATB.B2 = ~ PORTB.B2;
}
void main() {
JTAGEN_bit = 0;
ANSELA = 0;
ANSELB = 0;
TRISA = 0;
TRISB = 0;
LATA = 0;
LATB = 0;
T1CONbits.ON = 0; //disable timer 1
T1CON = 0; //clear the control register
TMR1 = 0; //set timer 1 to zero
T1CONbits.TCKPS = 3; // Prescale value to 1:256
T1CONbits.TCS = 0; //select internal clock
T1IP0_bit = 1; //set interrupt priority level to 7
T1IP1_bit = 1;
T1IP2_bit = 1;
T1IE_bit = 1; //enable the timer 1 interrupt
T1IF_bit = 0; //clear the interrupt flag of timer 1
PR1 = 62500; //MCU 8 MHz -> cycle = 125 ns; timer tick = 256 * 125 ns = 0.032 ms; 2 s/0.032 ms = 62500
//PR1 = 0xF424;
T1CONbits.ON = 1; // Enable timer 1
EnableInterrupts();
}
代码编译没有错误,但是当我将其加载到MCU时它不起作用,引脚B2保持低电平并且没有任何变化。有人知道代码有什么问题吗?或者,也许拥有PIC32MX250F128B的人可以编写一个工作程序并将其发布为示例?无论如何,我很感谢您的帮助,因为我对此问题有些犹豫。也没有错误消息指出错误。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)