一个端口通过外部使其置高或置低效果类似方波脉冲(但不是持续的,有可能长时间都置低),怎么计数其脉冲个数以及判断其上升沿,比如说在TIM1定时器溢出中断里:
#pragma vector=TIM1_OVR_UIF_vector
__interrupt void TIM1_OVR_UIF_IRQHandler(void)
{
TIM1_SR1=0X00;
count13++;
if(count13==3) //数3个脉冲后PD2置高
PD2=1;
if(count13==6) //数3个脉冲后PD2置低
PD2=0;
}
如何计数PD2端口的脉冲个数以及判断其上升沿.
此帖出自
小平头技术问答
你的边沿极性有你的程序控制,运行“PD2=0;”时,PD2就输出下降沿,你在“PD2=0;”后加个计数语句:“num++;”
这样num的值不就是下降沿的次数?
建议count13清零在定时器中断中处理,避免下次进入定时器中断时,主程序还没运行到清零的语句
一周热门 更多>