• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM7支持觸摸屏和實時操作系統的開發與應用

    基于ARM7支持觸摸屏和實時操作系統的開發與應用

    作者: 時間:2010-09-25 來源:電子產品世界 收藏

      其中,ReadTouchXY()函數通過TOUCH_X_MeasureX(void)、TOUCH_X_MeasureY(void)讀取對應坐標的X、Y軸的電壓值,并送入主控程序進行坐標轉化,得出當前按壓的位置。

    本文引用地址:http://www.czjhyjcfj.com/article/112971.htm

      int ReadTouchXY(unsigned char

      command)

      {

      //根據command參數,進行X、Y向觸摸點選擇、去抖、位置的計算等

      return ack;//返回對應位

      置值;

      }

      mC/GUI及與操作系統的接口

      mC/GUI是運行于操作系統之上的程序,它既需要與操作系統協調,又需要與各種輸入/輸出設備協調,即通過輸入設備接收用戶請求,通過輸出設備發送微處理器的處理結果。因此,mC/GUI的接口主要包括兩個:與操作系統的接口和與輸入/輸出設備的接口,這也正是在移植mC/GUI的過程中所要解決的關鍵問題。mC/GUI與mC/OS-II結合應用時通過上鎖和解鎖來解決資源互斥的問題,其過程是通過在關鍵區域入口設置GUI_X_Lock()以獲得專一訪問權,用完后在出口處設置GUI_X_Unlock()讓出資源,達到多個GUI任務對同一數據在關鍵區域內訪問的互斥。

      在mC/GUI移植到mC/OS-II的過程中,需要利用操作系統的資源來實現GUI所需要的功能,即利用μC/OSII提供的時間管理、任務管理和資源共享機制來實現μC/GUI中相應的功能,具體要實現以下函數的重新定義:

      (1)時間函數

      GUI_X_Delay() //延遲指定的時間段后返回

      GUI_X_ExecIdle() //視窗管理器的非堵塞函數調用

      GUI_X_GetTime() //返回當前

      系統的時間,以毫秒為單位

      (2)內核接口函數

      GUI_X_InitOS() //初始化內核

      接口模塊

      GUI_X_GetTaskID() //返回一個

      當前任務/線程唯一的32位標識符

      GUI_X_Lock() //給GUI上鎖

      GUI_X_UnLock() //解鎖GUI

      GUI_X_Log() //返回調試信息

      (3)LCD底層驅動程序

      要使mC/GUI能夠在目標系統上運行,首先要對mC/GUI進行配置和修改,也就是移植。移植工作主要是指對配置頭文件中的宏定義根據具體情況進行修改,包括LCD宏和LCD控制器宏。使用mC/GUI庫函數時,必須在主函數前調用頭文件“gui.h”,并根據需要做適當的修改。值得注意的是,在此文件的預定義語句中,必須將GUI_SUPPORT_TOUCH設為1。如果需要在屏幕上顯示中文,除了添加中文字庫到工程中外,還需要將GULDEFAULT_FONT設為&GULFontHZ12,HZ12代表使用的中文字體。如果需要在mC/GUI的控件中使用中文,也需要在控件的預定義語句中作相應的修改。由于7芯片S3C44B0X內部集成了LCD控制器,LCD底層驅動程序主要是設計與LCD屏相關的參數以及其特殊的控制寄存器,主要包括以下的參數和寄存器:

      #dene SCR_XSIZE (640)

      //LCD水平尺寸

      #dene SCR_YSIZE (240)

      //LCD垂直尺寸

      #dene LCD_XSIZE (640)

      //LCD水平分辨率

      #dene LCD_YSIZE (240)

      //LCD垂直分辨率

      #define ARRAY_SIZE_COLOR (SCR_XSIZE/1*SCR_YSIZE)

      //LCD水平與垂直比例

      #define HOZVAL_COLOR (LCD_XSIZE*3/8-1)

      //LCD水平字節尺寸

      #dene SCR_XSIZE (640)

      //LCD水平尺寸

      #dene SCR_XSIZE (640)

      //LCD水平尺寸

    c語言相關文章:c語言教程


    模數轉換器相關文章:模數轉換器工作原理




    關鍵詞: ARM 觸摸屏 μC/GUI 201009

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 孟州市| 青冈县| 南江县| 扎赉特旗| 溧水县| 威宁| 永清县| 江山市| 隆安县| 横山县| 三明市| 炉霍县| 海南省| 巨野县| 苏尼特右旗| 南川市| 香港| 宁远县| 寿阳县| 中西区| 遂昌县| 武宣县| 龙胜| 山东| 秦安县| 云龙县| 沙洋县| 凌海市| 河津市| 林周县| 罗平县| 延吉市| 福建省| 安康市| 永丰县| 永仁县| 保康县| 嘉祥县| 陆丰市| 汉川市| 博湖县|