PIC32定时器初始化

问题描述

我正在尝试使用计时器中断每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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...