一種基于龍芯平臺的消息燈控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及Linux操作系統(tǒng)下消息燈控制技術(shù)領(lǐng)域,特別涉及一種基于龍芯平臺的消息燈控制方法。
【背景技術(shù)】
[0002]目前大部分筆記本電腦或者平板電腦都會設(shè)置多種消息指示燈,例如,硬盤指示燈用于指示硬盤是否正在讀取或者處理數(shù)據(jù),WiFi指示燈用于指示W(wǎng)iFi功能是否能正常使用,電池指示燈用于表明電池的電量剩余情況。通過觀察相關(guān)指示燈,用戶可以直觀得獲得筆記本電腦或者平板電腦中相關(guān)硬件的工作情況。
[0003]共享庫(動(dòng)態(tài)庫)是一個(gè)目標(biāo)模塊(以.so后綴表示),在運(yùn)行時(shí),可以加載到任意的存儲器地址,并和一個(gè)在存儲器中的程序鏈接起來,這個(gè)過程稱為動(dòng)態(tài)鏈接。動(dòng)態(tài)鏈接是由一個(gè)叫做動(dòng)態(tài)鏈接器的程序來執(zhí)行的。共享庫生成之后,編寫一個(gè).h的頭文件,該頭文件包含共享庫中各個(gè)函數(shù)的聲明,用戶編寫應(yīng)用程序時(shí)只需包含該頭文件,就可以直接調(diào)用共享庫中的各個(gè)函數(shù),實(shí)現(xiàn)自定義的上層應(yīng)用程序。
[0004]為了滿足不同程序?qū)ο艨刂频男枨?,提高消息燈控制的效率,本發(fā)明提出了一種基于龍芯平臺的消息燈控制方法。
【發(fā)明內(nèi)容】
[0005]本發(fā)明為了彌補(bǔ)現(xiàn)有技術(shù)的缺陷,提供了一種簡單、高效的基于龍芯平臺的消息燈控制方法。
[0006]本發(fā)明是通過如下技術(shù)方案實(shí)現(xiàn)的:
一種基于龍芯平臺的消息燈控制方法,其特征在于:通過控制單元將檢測到的電壓信號轉(zhuǎn)換成數(shù)字信號發(fā)送給消息燈控制程序,并通過消息燈控制程序發(fā)送的指令信號,控制消息燈的亮滅,實(shí)現(xiàn)包括初始化消息燈的狀態(tài),消息燈持續(xù)閃爍和消息燈閃爍次數(shù)的設(shè)定三個(gè)功能;在實(shí)現(xiàn)所述初始化消息燈的狀態(tài),消息燈持續(xù)閃爍和消息燈閃爍次數(shù)的設(shè)定過程中編寫消息燈控制源程序,并編譯消息燈控制源程序?qū)⑵渖煽芍囟ㄎ荒繕?biāo)文件,并生成共享庫;應(yīng)用程序需要控制消息燈時(shí)直接調(diào)用共享庫中消息燈控制程序即可。
[0007]在初始化消息燈的狀態(tài)時(shí),先打開設(shè)備文件,然后檢測消息燈的狀態(tài),當(dāng)檢測到消息燈的工作狀態(tài)正常時(shí),則將其關(guān)閉,當(dāng)檢測到消息燈的工作狀態(tài)不正常時(shí),則告警并退出程序。
[0008]在設(shè)定消息燈持續(xù)閃爍時(shí),首先打開消息燈,使消息燈亮,然后設(shè)置睡眠時(shí)間sleep (time),使消息燈進(jìn)入睡眠模式,睡眠時(shí)間sleep (time)結(jié)束之后,關(guān)閉消息燈,然后再次使消息燈進(jìn)入睡眠模式,睡眠時(shí)間sle印(time)結(jié)束之后,根據(jù)消息燈閃爍次數(shù)是否達(dá)到了用戶設(shè)定的消息燈閃爍次數(shù),選擇結(jié)束進(jìn)程或者再次打開消息燈進(jìn)行持續(xù)閃爍,直到完成用戶設(shè)定的消息燈閃爍次數(shù)后進(jìn)程結(jié)束。
[0009]本發(fā)明的有益效果是:該基于龍芯平臺的消息燈控制方法,通過編寫消息燈控制源程序,并將其編譯生成可重定位目標(biāo)文件,并生成共享庫,應(yīng)用程序需要控制消息燈時(shí)直接調(diào)用共享庫中消息燈控制程序即可,滿足了不同程序?qū)ο艨刂频男枨?,提高了消息燈控制的效率?br>【附圖說明】
[0010]附圖1為本發(fā)明生成共享庫及動(dòng)態(tài)鏈接流程示意圖;
附圖2為本發(fā)明基于龍芯平臺的消息燈控制方法流程示意圖。
【具體實(shí)施方式】
[0011]附圖為本發(fā)明的一種具體實(shí)施例,下面結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)說明。
[0012]該基于龍芯平臺的消息燈控制方法,通過控制單元將檢測到的電壓信號轉(zhuǎn)換成數(shù)字信號發(fā)送給消息燈控制程序,并通過消息燈控制程序發(fā)送的指令信號,控制消息燈的亮滅,實(shí)現(xiàn)包括初始化消息燈的狀態(tài),消息燈持續(xù)閃爍和消息燈閃爍次數(shù)的設(shè)定三個(gè)功能;在實(shí)現(xiàn)所述初始化消息燈的狀態(tài),消息燈持續(xù)閃爍和消息燈閃爍次數(shù)的設(shè)定過程中編寫消息燈控制源程序,并編譯消息燈控制源程序?qū)⑵渖煽芍囟ㄎ荒繕?biāo)文件,并生成共享庫;應(yīng)用程序需要控制消息燈時(shí)直接調(diào)用共享庫中消息燈控制程序即可。
[0013]在初始化消息燈的狀態(tài)時(shí),先打開設(shè)備文件,然后檢測消息燈的狀態(tài),當(dāng)檢測到消息燈的工作狀態(tài)正常時(shí),則將其關(guān)閉,當(dāng)檢測到消息燈的工作狀態(tài)不正常時(shí),則告警并退出程序。
[0014]在設(shè)定消息燈持續(xù)閃爍時(shí),首先打開消息燈,使消息燈亮,然后設(shè)置睡眠時(shí)間sleep (time),使消息燈進(jìn)入睡眠模式,睡眠時(shí)間sleep (time)結(jié)束之后,關(guān)閉消息燈,然后再次使消息燈進(jìn)入睡眠模式,睡眠時(shí)間sle印(time)結(jié)束之后,根據(jù)消息燈閃爍次數(shù)是否達(dá)到了用戶設(shè)定的消息燈閃爍次數(shù),選擇結(jié)束進(jìn)程或者再次打開消息燈進(jìn)行持續(xù)閃爍,直到完成用戶設(shè)定的消息燈閃爍次數(shù)后進(jìn)程結(jié)束。
[0015]本發(fā)明基于龍芯平臺的消息燈控制方法,具體實(shí)現(xiàn)步驟如下:
1、初始化消息燈的狀態(tài):首先讀取信息燈的狀態(tài)信息,即打開文件系統(tǒng)下/dev/loongsonl-gp1,如果打開成功,則根據(jù)消息指示燈的GP1值,獲取消息燈的狀態(tài),如果消息燈工作狀態(tài)正常,則向/dev/loongsonl-gp1中寫0,關(guān)閉消息燈。
[0016]2、設(shè)置消息燈持續(xù)閃爍:首先讀取消息燈的狀態(tài),即打開文件系統(tǒng)下/dev/loongsonl-gp1,如果打開成功,則根據(jù)消息燈的GP1值,讀取消息燈的狀態(tài),判斷消息燈是否出現(xiàn)異常;如果消息燈工作正常,則讓消息燈亮,即向/dev/loongsonl-gp1中寫1,然后執(zhí)行睡眠操作,消息燈亮睡眠時(shí)間sle印(time)后關(guān)閉消息指示燈,即向/dev/loongsonl-gp1中寫0,然后執(zhí)行睡眠操作,讓消息燈滅睡眠時(shí)間sleep (time),循環(huán)這個(gè)操作,即可看到消息燈不停閃爍。循環(huán)執(zhí)行該過程η次(η是用戶設(shè)定的消息燈閃爍次數(shù)),即可以看到消息燈閃爍η次。
[0017]3、程序編寫結(jié)束之后,執(zhí)行編譯命令:gcc -ο signallight.ο _c signallight.c-fPIC,編譯通過后執(zhí)行命令:gcc - shared - o liblight.so signallight.0,最后生成共享庫 liblight.SO0
[0018]4、將上述步驟中實(shí)現(xiàn)的函數(shù)名稱寫在light, h頭文件中,當(dāng)用戶的自定義應(yīng)用程序需要控制消息燈時(shí),只需要在程序中包含light, h頭文件,并將liblight.so放在應(yīng)用程序源程序所在的位置。
【主權(quán)項(xiàng)】
1.一種基于龍芯平臺的消息燈控制方法,其特征在于:通過控制單元將檢測到的電壓信號轉(zhuǎn)換成數(shù)字信號發(fā)送給消息燈控制程序,并通過消息燈控制程序發(fā)送的指令信號,控制消息燈的亮滅,實(shí)現(xiàn)包括初始化消息燈的狀態(tài),消息燈持續(xù)閃爍和消息燈閃爍次數(shù)的設(shè)定三個(gè)功能;在實(shí)現(xiàn)所述初始化消息燈的狀態(tài),消息燈持續(xù)閃爍和消息燈閃爍次數(shù)的設(shè)定過程中編寫消息燈控制源程序,并編譯消息燈控制源程序?qū)⑵渖煽芍囟ㄎ荒繕?biāo)文件,并生成共享庫;應(yīng)用程序需要控制消息燈時(shí)直接調(diào)用共享庫中消息燈控制程序即可。2.根據(jù)權(quán)利要求1所述的基于龍芯平臺的消息燈控制方法,其特征在于:在初始化消息燈的狀態(tài)時(shí),先打開設(shè)備文件,然后檢測消息燈的狀態(tài),當(dāng)檢測到消息燈的工作狀態(tài)正常時(shí),則將其關(guān)閉,當(dāng)檢測到消息燈的工作狀態(tài)不正常時(shí),則告警并退出程序。3.根據(jù)權(quán)利要求1所述的基于龍芯平臺的消息燈控制方法,其特征在于:在設(shè)定消息燈持續(xù)閃爍時(shí),首先打開消息燈,使消息燈亮,然后設(shè)置睡眠時(shí)間sle印(time),使消息燈進(jìn)入睡眠模式,睡眠時(shí)間sle印(time)結(jié)束之后,關(guān)閉消息燈,然后再次使消息燈進(jìn)入睡眠模式,睡眠時(shí)間sle印(time)結(jié)束之后,根據(jù)消息燈閃爍次數(shù)是否達(dá)到了用戶設(shè)定的消息燈閃爍次數(shù),選擇結(jié)束進(jìn)程或者再次打開消息燈進(jìn)行持續(xù)閃爍,直到完成用戶設(shè)定的消息燈閃爍次數(shù)后進(jìn)程結(jié)束。
【專利摘要】本發(fā)明特別涉及一種基于龍芯平臺的消息燈控制方法。該基于龍芯平臺的消息燈控制方法,通過控制單元控制消息燈的亮滅,并在此過程中編寫消息燈控制源程序,將其編譯生成可重定位目標(biāo)文件,最后生成共享庫;應(yīng)用程序需要控制消息燈時(shí)直接調(diào)用共享庫中消息燈控制程序即可。該基于龍芯平臺的消息燈控制方法,通過編寫消息燈控制源程序,并將其編譯生成可重定位目標(biāo)文件,并生成共享庫,應(yīng)用程序需要控制消息燈時(shí)直接調(diào)用共享庫中消息燈控制程序即可,滿足了不同程序?qū)ο艨刂频男枨螅岣吡讼艨刂频男省?br>【IPC分類】G06F9/445
【公開號】CN105068842
【申請?zhí)枴緾N201510521288
【發(fā)明人】柳玉巧, 陳乃闊, 吳登勇
【申請人】山東超越數(shù)控電子有限公司
【公開日】2015年11月18日
【申請日】2015年8月24日