您是要偵測脈衝長度吧,多半用在One wire協定的IRQ
先設置好一個定時器至1ns~1us(51無法到1us)
然後開啟計時,當傳感器外部中斷觸發時候
將定時器停止計數或者直接取值
兩個時間相減,依照單位計算即可(1ns~1us)
以上
传感器开断我理解为检测到,和非检测到,如按键的按下和松开,当案件按下时传感器开始计时,计时满中断里标志位+1,当松开按键,计时停止
通过计算定时器的定时值可以得到开断时间
利用单片机的边沿触发中断
检测上升沿和下降沿之间的时间,即可知道开断时间
具体方法是每个边沿都触发一个中断,检测中断相差的时间即可
STM32的边沿触发请参考http://blog.csdn.net/u014256685/article/details/45868395