新聞中心
聯系我們
行業資訊
運行這串代碼,無源蜂鳴器會一直響的原因
如果你的原理圖,是用NPN三極管驅動發聲,如下圖(實際原理圖可能比這個復雜,這里只考慮邏輯)(通常情況下不會用IO口直接帶負載,因為IO口電流太小難以驅動)在這種情況下,如果BEEP置1,發射極和基極的PN結會導通,驅動發聲。同樣如果BEEP置0,該PN結就截止,將不會發聲。也就是說驅動的IO口為1就響,為0就不響。那么題主的代碼就很好理解了,在沒有while(1)的循環狀態下,該代碼按順序只會執行一次。
也就是最終BEEP的狀態會停留在置1的狀態,所以在短暫置0的1000微秒后,BEEP的狀態會一直是1,而1000微秒的時間是遠遠小于人類可以辨識的時間間隔的。所以直觀感受就是一直響。簡單來說,如果接線的邏輯是IO高電平響,低電平不響,那這段代碼就會使之一直響的。
更多文章,請點擊http://www.xqnry.com/