dspic33f的timer1设定.txt
来自「此源码可实现对DSPIC定时中断服务程序的定时器的设定」· 文本 代码 · 共 24 行
TXT
24 行
#include <p33FJ64GP206.h>
void timer1_init(void)
{
T1CON = 0; //确保T1关闭,再进行初始化
IFS0bits.T1IF = 0; //清T1复位标志,使T1复位
IPC0bits.T1IP = 5; //3个BIT,设置T1的中断优先级,0~7,7是做高优先级
IEC0bits.T1IE = 1; //开T1中断
T1CONbits.TCKPS = 1; //设置T1的预分频比是8,即T1加一次需要的时间为1/(32M/8)秒,即0.25uS
//2个bit,00--1:1,01--1:8,10--1:64,11--1:256
PR1 = 4000; //根据计算应该是从0开始计数,加到PR1时产生中断,跟以往的MCU溢出中断不同
//这个寄存器的值计算结果为,400~40000分别对应10KHz到100Hz
T1CONbits.TON = 1; //打开T1并开始计数
}
//====================定时中断服务程序======================
void __attribute__((__interrupt__,no_auto_psv)) _T1Interrupt(void)
{ PR1=40320/Ftimer1; //计算定时器的溢出值
IFS0bits.T1IF = 0; //在软件里清中断标志
// your ISR code
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?