📄 timer_tc1_interrupt.c
字号:
#include <sn8p2758.h>
unsigned int tc1_buf;
void main (void)
{
FTC1ENB=0;
TC1M=0x20; //Fcpu/64
TC1C=0x64; //10ms interrupt Once
TC1R=0x64;
FALOAD1=1; //enable auto re-load
FTC1ENB=1; // Enable TC1 timer
FTC1IEN=1; // Enable TC1 interrupt
FTC1IRQ=0; // Clean TC1 interrupt request flag
FGIE=1; // all interrupt operation
while (1)
{
//==================================================================
//
// User code
//
//==================================================================
}
}
//===============================================================================================
// TC1 set 10ms interval time for TC1 interrupt. X'tal:4M Fcpu=Fosc/4 TC1RATE=010 (Fcpu/64)
//===============================================================================================
//
// TC1 initial value = 256-(TC1 interrupt interval time*clocl)
// = 256-(10ms*4MHz /4 /64)
// = 256-(0.01*4*1000000/4/64)
// = 100
// = 64H
//
__interrupt isr (void)
{
if ((FTC1IEN==1)&&(FTC1IRQ==1))
{
FTC1IRQ=0;
tc1_buf++;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -