freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于嵌入式linux電表采集終端顯示模塊設(shè)計論文-資料下載頁

2024-11-10 02:39本頁面

【導讀】近年來我國電力需求不斷增加,供應(yīng)日趨緊張。為了保證電網(wǎng)安全、正確地商業(yè)化運營,必須有一套計量精確、功能強大的自動抄表系統(tǒng)。自動抄表系統(tǒng)節(jié)約了大量的人力和時間,快捷、準確地傳遞了信息,減少了人工抄表誤差,提高了工作效率,是電力行業(yè)優(yōu)化管理、走向市場的技術(shù)保障。數(shù)據(jù)采集終端分為抄表模塊,數(shù)據(jù)顯示模塊,控制模塊,遠程升級等。隨后闡述以ARM9為硬件平臺,嵌入式Linux為軟件平臺,實現(xiàn)顯示模塊的兩個前提條件:基于framebuffer顯示屏驅(qū)動和特殊小鍵盤驅(qū)動的方法。最后在此基礎(chǔ)上實現(xiàn)了一個適合電表采集終端工業(yè)應(yīng)用的圖形用戶界面。嵌入式Linux為許多應(yīng)用提供了良好的解決方案,其開放的源代碼、強大的技術(shù)支持、良好的可擴展性及對眾多硬件的支持都是它嵌入化的優(yōu)勢?;谇度胧絃inux的多任務(wù)機制,可以在多個進程調(diào)度下實現(xiàn)對電表的同時采集,處理速度大為提高,并且基于高速的處理器,可以連接大容量的SDRAM和FLASH,提高了系統(tǒng)的數(shù)據(jù)存儲空間。

  

【正文】 izeof(RECT))。 if(!lpInterRect2){ printerror(alloc memory error!\n)。 free(lpMidRect2)。 free(lpInterRect1)。 free(lpMidRect1)。 free(lpTopRect)。 UnInitFrameBuffer()。 close(keypad_fd)。 } SetRect(lpInterRect2,1,200,291,220)。 FillRect(lpInterRect2,RGB_NAVYLTGRAY)。 DrawText(current,strlen(current),lpInterRect2,DT_VCENTER|DT_CENTER,RGB_RED)。 //middle rect3 shows a phase current,b phase current and c phase lpMidRect3 = malloc(sizeof(RECT))。 if(!lpMidRect3){ printerror(alloc memory error!\n)。 free(lpInterRect2)。 free(lpMidRect2)。 free(lpInterRect1)。 free(lpMidRect1)。 free(lpTopRect)。 UnInitFrameBuffer()。 close(keypad_fd)。 } SetRect(lpMidRect3,1,220,291,300)。 FillRect(lpMidRect3,RGB_WHITE)。 //bottom rect shows error info lpBottomRect = malloc(sizeof(RECT))。 if(!lpBottomRect){ printerror(alloc memory error!\n)。 free(lpMidRect3)。 free(lpInterRect2)。 free(lpMidRect2)。 free(lpInterRect1)。 free(lpMidRect1)。 free(lpTopRect)。 UnInitFrameBuffer()。 close(keypad_fd)。 } SetRect(lpBottomRect,1,300,291,320)。 FillRect(lpBottomRect,RGB_DKGRAY)。 4. 獲取采集程序獲取的信息顯示程序和采集程序通過共享內(nèi)存獲得電表信息,代碼如下。void GetMeterInfo(meter* pMeter,int size){ int shm_id,i。 key_t key。 meter *p_map=NULL。 char* name = test1。 key = ftok(name,39。a39。)。 if(key == 1) perror(ftok error)。 shm_id = shmget(key,4096,IPC_CREAT)。 if(shm_id == 1) { perror(shmget error)。 return。 } p_map = (meter*)shmat(shm_id,NULL,0)。 printf(6 asttime is %s \n,(*(p_map+5)).asttime)。 //pMeter = malloc(sizeof(meter)*size)。 memcpy(pMeter,p_map,sizeof(meter)*size)。 printf(get meter info:%s \n,(*pMeter).asttime)。 if(shmdt(p_map) == 1) perror( detach error )。} 程序邏輯主體顯示程序循環(huán)接受小鍵盤驅(qū)動,當有按鍵事件發(fā)生,獲取鍵碼,并根據(jù)鍵碼執(zhí)行相應(yīng)的鍵盤處理程序。while(1){ read(keypad_fd,ret,1)。 //printf(key = %c\n,ret[1])。 //clear screen if(ret[0] != oriret){ oriret = ret[0]。 FillRect(lpMidRect1,RGB_WHITE)。 FillRect(lpMidRect2,RGB_WHITE)。 FillRect(lpMidRect3,RGB_WHITE)。 } switch((int)ret[0]){ //printf(enter deal\n)。 case KEYPAD1:{ DrawText(meterno1,strlen(meterno1),lpMidRect1,DT_TOP|DT_LEFT,RGB_BLACK)。 DrawTextInfo(0)。 break。 } case KEYPAD2:{ DrawText(meterno2,strlen(meterno2),lpMidRect1,DT_TOP|DT_LEFT,RGB_BLACK)。 DrawTextInfo(1)。 break。 } case KEYPAD3:{ DrawText(meterno3,strlen(meterno3),lpMidRect1,DT_TOP|DT_LEFT,RGB_BLACK)。 DrawTextInfo(2)。 break。 } case KEYPAD4:{ DrawText(meterno4,strlen(meterno4),lpMidRect1,DT_TOP|DT_LEFT,RGB_BLACK)。 DrawTextInfo(3)。 break。 } case KEYPAD5:{ DrawText(meterno5,strlen(meterno5),lpMidRect1,DT_TOP|DT_LEFT,RGB_BLACK)。 DrawTextInfo(4)。 break。 } case KEYPAD6:{ DrawText(meterno6,strlen(meterno6),lpMidRect1,DT_TOP|DT_LEFT,RGB_BLACK)。 DrawTextInfo(5)。 break。 } case KEYPAD7:{ DrawText(meterno7,strlen(meterno7),lpMidRect1,DT_TOP|DT_LEFT,RGB_BLACK)。 DrawTextInfo(6)。 break。 } case KEYPAD8:{ DrawText(meterno8,strlen(meterno8),lpMidRect1,DT_TOP|DT_LEFT,RGB_BLACK)。 DrawTextInfo(7)。 break。 } case KEYPADENTER:{ goto leave。 } default:{ DrawText(meterno1,strlen(meterno1),lpMidRect1,DT_TOP|DT_LEFT,RGB_BLACK)。 DrawTextInfo(0)。 break。 } } usleep(80000)。 } 釋放資源用戶按下小鍵盤Enter鍵,程序退出,顯示退出信息,并釋放所占用的資源。 結(jié)果分析 設(shè)備驅(qū)動顯示屏能正常顯示,小鍵盤能正常工作。 圖形界面電表信息顯示正常,能夠基本滿足電表顯示模塊的需求。 創(chuàng)新思想獨立設(shè)計一套適合電表采集終端特殊工業(yè)應(yīng)用的圖形界面,滿足了應(yīng)用的基本需求??偨Y(jié)接觸嵌入式Linux至今已有兩個多月,從熟悉Linux基本命令到搭建嵌入式Linux交叉開發(fā)平臺,再到學習Linux設(shè)備驅(qū)動并能夠開發(fā)出一個簡單的圖形界面,我對嵌入式Linux有了初步的了解。由于學習時間不長,動手實踐不多,因此能夠?qū)懗烧撐牡某晒埠苡邢蕖Mㄟ^本科畢業(yè)設(shè)計,我實際接觸到了嵌入式系統(tǒng),了解了嵌入式Linux基礎(chǔ)知識,但由于嵌入式系統(tǒng)對軟、硬件結(jié)合要求較高,這在開發(fā)驅(qū)動程序的時候尤其明顯。Linux設(shè)備驅(qū)動程序分兩層,上層是提供給應(yīng)用程序的接口,下層就主要跟硬件打交道。由于對硬件不熟悉,在開發(fā)過程中遇到不少問題,最后參考Linux源碼,經(jīng)過修改終于解決問題。一個好的圖形界面會給用戶帶來便捷的體驗和好的感官享受,圖形界面的使用在軟件產(chǎn)品中越來越受重視,也因此逐步發(fā)展成為一門專門的學科——圖形用戶界面(GUI)。本畢業(yè)設(shè)計基本滿足了用戶的使用需求,但功能比較簡單,只是一個單窗口的圖形界面并能響應(yīng)小鍵盤事件。設(shè)計的過程中,深入了解了一些圖形學方面和用戶界面的知識,也接觸到開發(fā)圖形用戶界面的一些方法和理論。本畢業(yè)設(shè)計討論的是電表采集終端顯示模塊,在與其他模塊整合的過程中,采用共享內(nèi)存的方式整合成功,并能成功獲取采集模塊采集的數(shù)據(jù),通過顯示模塊顯示到顯示屏上。致謝在本科畢業(yè)設(shè)計這段時間里,我十分感謝軟件學院對我們的重視,xx老師的悉心教導,以及周圍的同學和朋友對我的幫助。為了讓我們能夠順利的按時按質(zhì)完成課題,學院為我們提供了配置齊全的機器、嵌入式實驗箱和舒適的工作學習環(huán)境,制定了嚴格的管理制度。院領(lǐng)導和老師無時無刻不在關(guān)注著我們的工作進展,對我們的每一項工作細節(jié)都提出了極高的要求,這對即將走入社會的我們來說無疑是最寶貴的財富。在實際開發(fā)過程中,xx老師給了我很大的幫助、啟迪和教導。他給我們提供了大量的資料,還及時地召開會議了解大家的工作進展,并提出相關(guān)的建議和解決方案。當工作中出現(xiàn)差錯,xx老師在提出批評之余還親力親為,及時幫助大家修正。對于遇到的問題,xx老師也給予詳細的解答,同時鼓勵大家拓寬自己的思維方式,勇于創(chuàng)新。這些不僅讓我鞏固了原有的知識基礎(chǔ),真正學到了許多以前沒有接觸過的知識,還端正了工作態(tài)度,培養(yǎng)了嚴謹?shù)闹螌W精神,使我受益匪淺。本次畢業(yè)設(shè)計得以順利完成,還要歸功于周圍同學和朋友的無私幫助。在此,我對他們的幫助表示衷心的感謝!最后,再次對給予我的幫助和鼓勵的老師、同學和朋友們致以最誠摯的謝意!參考文獻[1] 王云博,李德升,[D].安徽:中國科學技術(shù)大學,2007.[2] SAMSUNG. S3C2410 USER’S MANUAL[M/CD].[3] Linux平臺的設(shè)計與應(yīng)用[D].長沙:湖南大學,2006.[4] JONATHAN CORBET, ALESSANDRO RUBINI, GREG KROAHHARTMAN. LINUX設(shè)備驅(qū)動程序, 第三版[M]. 北京:中國電力出版社,2006:4672.[5] [M].北京:人民郵電出版社,2006:363365,382394.[6] 褚亞民,[J].計算機與信息技術(shù),2005,8:2629.[7] JimSheng. Writing Linux LCD Driver[A] [8] 楊顯強,[J]. 今日電子,2005,8:1621.[9] 雷鴻,. 武漢理工大學學報[J]:交通科學與工程版,2006,1:3648.[10] DANIEL , MARCO CESATI. UNDERSTANDING THE LINUX KERNEL, 3ND EDITION[M]. O39。REILLY,2006:138241,311402.[11] 楊欽,[M].北京:清華大學出版社,2005:3854.[12] DONALD HEARN, GRAPHICS WITH OPENGL,THIRD EDITION[M].PEARSON,2004:34163.[13] Arnold Robbins,Linux Programmging by Example[M].PearsonEP,2003:3986.[14] [M].北京:北京航空航天大學出版社,2006:20105.[15] SAMSUNG. S3C2410 USER’S MANUAL[M/CD].[16] 孫天澤,袁文菊. 嵌入式設(shè)計及LINUX驅(qū)動開發(fā)指南——基于ARM9處理器(第2版)[M].北京:電子工業(yè)出版社,2007:228385.[17] Andrew Sloss, Dominic Symes, Chris Wright. ARM System Developer39。s Guide: Designing and Optimizing System Software. Elsevier,2005:104213.
點擊復制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1