新人请教个问题,各位大大帮忙啊,在线等
我是个新新手,在写一个中断程序,检测脉冲的宽度和个数:主程序是显示高电平时间 和 脉冲个数。
设置脉冲上升沿中断,中断程序是用 pulseIn() 检测高电平时间,放在时间变量中,计数变量加1.返回主程序显示。
程序还没写,只是想问问各位,中断发生后用pulseIn()函数还能测出时间吗?这个程序是否成立?
如果不成立,用什么办法实现?麻烦各位了。在线等。
用于测量微秒级 的脉冲 int i;
unsigned long time =0;
-----------------------------------------
while(digitalRead(pin)==LOW)
{} //如果该端口低电平,则循环
time = micros(); //跳出循环后(出现高电平),记录时间
while(digitalRead(pin)==HIGH)
{} //如果该端口高电平,则循环
if ((micros()-time)>2)
i++; //如果高电平持续时间大于2微秒(不是毫秒哦),则“i”加一。
页:
[1]