2020-01-19 19:41发布
alias 发表于 2014-3-11 22:53 当相位差向0接近,输入捕获得到的数值是渐渐变小,由於中断处理及改变捕获的讯号源都要些时间,处理完毕后 ...
最多设置5个标签!
我是这样处理的,不知道为什么相位差接近0时会出错
void TIM4_IRQHandler(void)
{
u32 temp = 0;
temp = TIM4->SR;
if (temp & 0x02) //捕获1发生捕获事件
{
TIM4->SR&=~(1<<1); //清除1通道中断标志位
ReadValue1[0] = TIM4->CCR1;
TIM4->DIER&=~(1<<1); //禁止1通道捕获中断
LED1 =!LED1;
}
else if(temp & 0x04) //捕获2发生捕获事件
{
TIM4->SR&=~(1<<2); //清除2通道中断标志位
ReadValue1[1] = TIM4->CCR2;
Getnum[0]= (ReadValue1[1] - ReadValue1[0]);
TIM4->DIER&=~(1<<2); //禁止2通道捕获中断
LED2 =!LED2;
}
}
一周热门 更多>