Shell命令控制蜂鳴器發聲

2021-09-24 05:33:09 字數 996 閱讀 4994

1、使用如下命令進行安裝:

sudo apt-get install beep

2、安裝好後,檢視幫助資訊:

beep [-verbose-debug] [-e device-device device] [-f n] [-l n] [-r n] [-d n] [-d n] [-s] [-c]

其中, 

-verbose或-debug選項開啟除錯資訊輸出功能; 

-e device或-device device選項設定event裝置,未指定則嘗試/dev/tty0和/dev/vc/0兩裝置; 

-f n表示beep的頻率為n hz,0-l n表示beep多久,為n毫秒; 

-r n表示beep重複次數,預設為1; 

-d n和-d n表示兩次重複間的延時為n毫秒,其中d則表示最後一次重複不發生該延時,而d則表示每次都有該延時; 

-s和-c表示beep時需從stdin讀取,s表示每讀一行,c表示每讀一字元。

3、測試有沒有聲音出來:

beep -f 300.7 -r 2 -d 100 -l 400

該命令是用man beep裡看到的,使用該例子進行測試,但聲音沒有出來?查了下,發現驅動沒有載入:

lsmod | grep pcspkr

上面這條命令返回空。

確認linux核心的配置裡config_input_pcspkr=m,那就更肯定是沒載入了。

繼續查,最後發現在/etc/modprobe.d/blacklist.conf檔案裡居然有如下這句:

blacklist pcspkr

看來是每次啟動時都被黑名單過濾掉了,我們手動載入下吧:

sudo modprobe pcspkr

這時再執行上面的beep命令就有聲音出來了。

如果你需要在shell指令碼裡使用beep命令,記得用上/usr/bin/beep這個絕對路徑,別只用命令,還有如果該shell指令碼要每次啟動都能成功執行,那麼上面的blacklist一句記得注釋掉。

參考鏈結

C 控制蜂鳴器發聲

1 beep的報警實現 2 呼叫microsoft.viualbase中的beep 1.先引入命名空間 using microsoft.visualbasic 2.呼叫 interaction.beep 在編譯時注意要引用microsoft.visualbasic.dll程式集,否則編譯不能通過。另...

Arduino驅動無源蜂鳴器發聲

tone 函式 tone pin,frequency tone pin,frequency,duration 引數 pin the pin on which to generate the tone frequency the frequency of the tone in hertz unsig...

蜂鳴器控制實驗

實驗名稱 蜂鳴器控制實驗 實驗目的 熟悉 ads使用,熟悉 c程式設計 實驗原理 arm的 gpb0 控制蜂鳴器,當輸出高電平時,三極體導通,蜂鳴器工作。輸出低電平時,三極體未工作,蜂鳴器停止。實驗步驟 先初始化指標 sp,用不著中斷,就不必設定了。檔案 init.s,如下 area data,co...