SEP4O2O在Linux下實(shí)現動(dòng)作控制MP3

在操作系統中加入自動(dòng)播放腳本,使得系統在開(kāi)機時(shí)完成搜索MP3文件,建立播放列表,啟動(dòng)Madplay播放器等操作。腳本代碼如下:

動(dòng)作發(fā)生時(shí)MC9S08QG8向SEP4020發(fā)送一個(gè)動(dòng)作信號,然后SEP4020中的Linux內核就會(huì )發(fā)送一個(gè)SIGIO(串口信號)給各個(gè)用戶(hù)進(jìn)程。Madplay生程捕捉該信號,并且讀取串口上的消息,用以判斷動(dòng)作的形式。在Madplay程序中需要加入兩個(gè)模塊。第一個(gè)模塊用于讀取串口上的消息,具體實(shí)現方法是打開(kāi)并讀取串口設備文件/dev/ttySl來(lái)獲取消息,然后按照設定會(huì )從設備上讀到4種串口信號,對應4個(gè)ASCII字符“L,R,U,D”分別對應四種不同的動(dòng)作;第二個(gè)模塊是響應信號的處理函數,一旦Linux內核接收到SIGIO串口信號,Madplay進(jìn)程就進(jìn)入軟中斷讀取/dev/ttySl上的串口消息。甫一判斷出動(dòng)作,Madplay就用kill函數向本進(jìn)程發(fā)送相應的信號來(lái)控制播放。
3總結
以下是一些改進(jìn)的建議:作為手持式設備,動(dòng)作控制MP3對于能耗的要求比較高,所以設計時(shí)必須考慮多使用一些低功耗的器件替代高功耗的器件。動(dòng)作控制的MP3在運動(dòng)中是受限制的,MP3的判斷會(huì )受到比較大的干擾。所以如果動(dòng)作采樣方法和動(dòng)作判斷算法難以有很大的改進(jìn),為方便繼續使用應當考慮給MP3加上其他的控制方式,暫時(shí)取代動(dòng)作控制。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論