金牌会员
- 积分
- 1546
- 威望
- 688
- 贡献
- 268
- 兑换币
- 276
- 注册时间
- 2013-2-25
- 在线时间
- 295 小时
- 毕业学校
- dd
|
我用FTM输入捕捉测速 用FTM2也可测速 用FTM1就测不了了 串口上一直显示0 这是怎么回事
void FTM1_IRQHandler()
{
u8 a = FTM1_STATUS; //读取捕捉和比较状态 All CHnF bits can be checked using only one read of STATUS.
u8 CHn;
FTM1_STATUS = 0x00; //清中断标志位
CHn = 0;
if( a & (1 << CHn) )
{
FTM_IRQ_DIS(FTM1, CHn); //禁止输入捕捉中断
/* 用户任务 */
pwmtest1++; //计数+1
/*********************/
//不建议在这里开启输入捕捉中断,而是在main函数里根据需要来开启
//通道 CH0、CH1、Ch2、Ch3 有滤波器
FTM_IRQ_EN(FTM1, CHn); //开启输入捕捉中断
//delayms(10); //因为输入的信号跳变过程不稳定,容易触发多次输入捕捉,所以添加延时
//但考虑到中断不应该过长延时,所以开输入捕捉中断就放在main函数里,根据需要来开启
}
}
|
|