《電子技術應用》
您所在的位置:首頁 > 顯示光電 > 設計應用 > ARM系統中觸摸屏的中斷處理方法
ARM系統中觸摸屏的中斷處理方法
摘要: 隨著嵌入式微處理器性能的提高,集成的外圍接口設備越來越多,而外圍設備與處理器之間多采用中斷方式進行通信,即使在沒有操作系統的情況下,也常需要對多個外圍設備的中斷處理例程進行動態加載.
Abstract:
Key words :

隨著嵌入式微處理器性能的提高,集成的外圍接口設備越來越多,而外圍設備與處理器之間多采用中斷方式進行通信,即使在沒有操作系統的情況下,也常需要對多個外圍設備的中斷處理例程進行動態加載,從而實現對多個外圍設備的集中動態管理。同時,中斷功能可以解決CPU內部運行速度遠遠快于外部總線速度而產生的等待延時問題。因此,嵌入式微處理器的應用設計中,中斷處理通常是系統的核心任務之一。

  
1 觸摸屏

  (1)觸摸屏簡介

  隨著多媒體信息查詢的與日俱增,人們越來越關注觸摸屏。觸摸屏具有堅固耐用、反應速度快、節省空間、易于交流等許多優點,作為一種最新的電腦輸入設備,它是目前最簡單、方便、自然的人機交互方式。它賦予多媒體嶄新的面貌,是極富吸引力的全新多媒體交互設備。觸摸屏由觸摸檢測部件和觸摸屏控制器組成。觸摸檢測部件安裝在顯示器屏幕前面,用于檢測用戶觸摸位置,接收信息后送至觸摸屏控制器;觸摸屏控制器的主要作用是從觸摸點檢測裝置上接收觸摸信息,并將它轉換成觸點坐標后送給CPU,同時能接收CPU發來的命令并加以執行。按照觸摸屏的工作原理和傳輸信息的介質,觸摸屏可以分為4種,即電阻式、電容感應式、紅外線式以及表面聲波式。這里采用的是四線電阻屏。

  (2)S3C2410A觸摸屏控制器

  S3C2410A觸摸屏的外接電路主要是控制上下兩層導電層的通斷情況以及取電壓,取電壓之后還需要將這個模擬量轉換成數字量,這部分工作主要是靠S3C2410A芯片中的模數轉換器來實現的。即觸摸屏的功能實現實際上分兩部分,分別是觸摸屏的外接電路部分和S3C2410A芯片自帶的A/D轉換控制部分。

  
2 ARM嵌入式操作系統中斷處理方法

  在嵌入式系統中外部設備的功能主要是靠中斷機制來實現的。因此,ARM作為嵌入式微處理器的典型代表,為保證系統的實時性和穩定性,建立了一套完整的異常處理機制。

  2.1 S3C2410A中斷寄存器

  每個寄存器在中斷處理流程中所扮演的角色是不同的,中斷流程如圖1所示。

 

  2.2 中斷與中斷服務程序

  中斷的硬件邏輯將檢測到的中斷,以某種方式指向中斷服務程序的地址,該地址在頭文件中以宏定義的形式出現。用戶在自己的程序中,將中斷服務程序的地址賦給該指針,從而將中斷與中斷服務程序聯系起來。

  為了方便使用高級語言編寫異常處理函數,ARM編譯器對異常處理函數作了特定的擴展,只要使用關鍵字__irq,編譯出來的函數就滿足異常響應對現場保護和恢復的需要。

  在ADS編譯器中,__irq專門用來聲明IRQ中斷服務程序。如果用__irq來聲明一個函數,那么該函數就是IRQ中斷服務程序,編譯器會自動在函數內部增加中斷現場保護代碼。


3 中斷方式實現觸摸屏驅動

  3.1 中斷寄存器的設置與使能

  S3C2410A的觸摸屏是帶子中斷的內部中斷。當中斷發生后,SUBSRCPND相應位置1,如果沒有被INTSUBMSK屏蔽,那么SRCPND相應位置1,如果沒有被INTMSK屏蔽,就進一步設置INTMOD。這里采用IRQ中斷方式,所以SRCPND可以有多位置1(FIQ只能有1位),經過PRIORITY選出一個優先級高的,然后把INTPND相應位置1(只能選出1位),進入IRQ,讓CPU處理。

 

  首先必須弄清楚SUBSRCPND與SRCPND之間的關系,幾個SUBSRCPND可能對應同一個SRCPND。經過不斷總結,得出的對應關系如表1所列。從表中可知,觸摸屏要用到SUBSRCPND中的INT_TC位,即SUBSRCPND[9]。這里定義變量:

  #define BIT_SUB_TC(0x1<<9)

  與之對應的是SRCPND中的INT_ADC位,即SRCPND[31],又定義變量:

  #define BIT_ADC(0xl<<31)

  INTMOD與PRIORITY采用默認設置。因此,可以把觸摸屏的中斷過程寫為:

 

  3.2 觸摸屏中斷與觸摸屏中斷程序

  首先使能ARM芯片的中斷向量。當有IRQ中斷到來,CPU會自動到0x18地址處取指。0x18處的指令是CPU根據中斷源算好的。這里觸摸屏的中斷INT-ADC來了,那么0x18處的指令就是跳轉到地址0x9c處。然后就執行“ldr pc,=HandlerINT_ADC”這條指令。這條指令的執行結果就是跳轉到“HandlerINT_ADC”處執行。

  那么“HandlerINT_ADC”處又是什么指令呢?從訪問絕對地址的內存位置“#define pISR_ADC(*(unsigned*)(ISR_STARTADDRESS+0x9c))”可知,“HandlerINT_ADC”處的地址就是_ISR_STARTADDRESS+0x9C。

        上述語句把無符號整數_ISR_STARTADDRESS+0x9c強制轉換為指針,指向RAM,通過語句“pISR_ADC=(int)touchscreen;”對它進行訪問,touchscreen即為所定義的觸摸屏中斷程序,該中斷服務程序必須使用“__irq"關鍵字進行聲明。這樣,用戶在自己的程序中,將中斷服務程序的地址賦給該指針,從而將觸摸屏的中斷與觸摸屏的中斷程序聯系起來。整個觸摸屏中斷與觸摸屏中斷程序的聯系如圖2所示。


 

 

  
結語

  本文完成了觸摸屏相關中斷寄存器的設置,并編寫了觸摸屏的中斷處理程序,采用編寫“__irq”函數的方法實現了基于中斷的觸摸屏控制。在實際應用中,該程序設計簡單可靠,觸摸點坐標值讀取準確,且無粘滯現象,達到了預期效果。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
一区二区三区免费网站| 欧美一区影院| 国产丝袜美腿一区二区三区| 欧美日本韩国在线| 欧美激情精品久久久久久蜜臀 | 夜夜爽www精品| 亚洲精选视频免费看| 亚洲精品一区二区三区樱花| 亚洲国产精品t66y| 91久久精品视频| 亚洲精品一二区| 亚洲另类自拍| 99国产精品久久久久久久久久 | 在线一区二区日韩| 在线一区二区三区做爰视频网站| 日韩视频不卡中文| 正在播放亚洲一区| 亚洲欧美日韩成人| 羞羞答答国产精品www一本| 午夜精品久久久久久久| 香蕉av福利精品导航| 欧美在线免费一级片| 欧美一区二区三区日韩| 欧美伊人久久| 91久久精品一区二区别| 亚洲麻豆一区| 亚洲一区二区三区视频| 午夜欧美不卡精品aaaaa| 久久精品亚洲精品| 欧美成人三级在线| 欧美日一区二区三区在线观看国产免| 欧美视频免费在线| 国产精品一区二区三区观看| 国内精品伊人久久久久av影院| 欲色影视综合吧| 日韩天堂在线观看| 亚洲女同精品视频| 亚洲国产精品视频一区| 99成人精品| 午夜视频精品| 麻豆久久久9性大片| 欧美欧美全黄| 国产精品美女主播| 激情欧美国产欧美| 日韩视频一区二区三区在线播放| 亚洲网站在线观看| 亚洲国产精品999| 一区二区三区久久精品| 欧美在线一二三四区| 免费视频最近日韩| 欧美性久久久| 伊甸园精品99久久久久久| 亚洲最快最全在线视频| 欧美在线地址| 妖精视频成人观看www| 欧美一区二区日韩| 欧美顶级大胆免费视频| 国产精品久久久久久五月尺| 激情综合色综合久久| 一本不卡影院| 久久精品人人爽| 亚洲午夜精品国产| 久久综合亚洲社区| 国产精品美女久久久久久久| 在线国产精品播放| 亚洲丝袜av一区| 亚洲国产专区校园欧美| 亚洲欧美国产三级| 免费在线一区二区| 国产精品亚洲精品| 91久久精品www人人做人人爽| 亚洲欧美一区二区精品久久久| 日韩视频精品| 久久五月激情| 国产精品视频网| 日韩视频欧美视频| 亚洲福利小视频| 午夜精品一区二区三区在线视| 女同一区二区| 国产一区二区三区久久久久久久久| 亚洲美女少妇无套啪啪呻吟| 久久疯狂做爰流白浆xx| 亚洲欧美中文日韩v在线观看| 欧美国产在线观看| 国产在线视频欧美| 亚洲女同同性videoxma| 一区二区国产在线观看| 免费成人高清视频| 国产一区二区三区无遮挡| 亚洲一区二区三区精品动漫| 99热在这里有精品免费| 久久综合久久美利坚合众国| 国产毛片久久| 一本久道综合久久精品| 日韩特黄影片| 欧美sm视频| 国语自产精品视频在线看一大j8 | 久久久噜噜噜久久人人看| 国产精品久久久久久久一区探花 | 一区二区三区鲁丝不卡| 亚洲人成在线观看| 久久在线免费观看视频| 国产欧美日韩视频在线观看| 一区二区三区高清视频在线观看 | 国产精品magnet| 日韩亚洲欧美中文三级| 日韩特黄影片| 欧美黄色aa电影| 亚洲东热激情| 最新国产の精品合集bt伙计| 久久午夜精品一区二区| 国产一区二区在线观看免费播放 | 久久亚洲色图| 国外成人网址| 欧美一区在线直播| 久久久久久久欧美精品| 国产午夜亚洲精品不卡| 午夜视频在线观看一区二区三区 | 国产综合色精品一区二区三区| 午夜精品视频在线观看一区二区| 午夜久久久久久| 国产乱码精品| 欧美一区二区三区免费大片| 久久久久99精品国产片| 国产午夜精品视频| 欧美中文字幕在线| 狂野欧美一区| 亚洲电影免费在线观看| 99re国产精品| 欧美色另类天堂2015| 在线亚洲伦理| 久久av二区| 精品1区2区| 日韩一级精品| 国产精品av免费在线观看| 亚洲制服av| 久久久久亚洲综合| 1024亚洲| 亚洲少妇在线| 国产精品视频免费观看www| 欧美亚洲免费| 免费欧美在线视频| 亚洲精品午夜精品| 亚洲欧美在线视频观看| 国产亚洲一级| 亚洲日本va午夜在线影院| 欧美人在线视频| 亚洲宅男天堂在线观看无病毒| 久久精品成人| 亚洲国产成人精品久久久国产成人一区| 日韩视频在线一区| 国产精品女主播一区二区三区| 欧美在线播放视频| 欧美成人精品不卡视频在线观看 | 亚洲私人影吧| 久久久夜精品| 亚洲三级观看| 欧美在线短视频| 亚洲第一毛片| 亚洲欧美一区二区在线观看| 国内精品视频一区| 一区二区三区波多野结衣在线观看| 国产精品久久二区二区| 久久国产一区| 欧美日韩亚洲91| 欧美一区二区在线| 欧美人与禽猛交乱配视频| 午夜精品视频在线观看一区二区| 欧美成人精品不卡视频在线观看| 日韩视频在线免费观看| 久久精品久久综合| 亚洲精品之草原avav久久| 小黄鸭精品aⅴ导航网站入口| 一区二区三区无毛| 亚洲综合成人婷婷小说| 在线精品国产成人综合| 亚洲欧美日韩在线| 激情国产一区| 亚洲小说区图片区| 国产在线不卡精品| 亚洲婷婷免费| 狠狠色丁香婷婷综合| 亚洲一区二区在线播放| 在线观看日韩| 小辣椒精品导航| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美一区二区三区在线| 亚洲肉体裸体xxxx137| 久久成人18免费网站| 亚洲毛片在线观看.| 久久亚洲高清| 亚洲影院色在线观看免费| 欧美韩国日本综合| 欧美一区二视频| 欧美调教vk| 亚洲久久成人| 韩国欧美国产1区| 午夜精品视频在线观看| 亚洲美女在线看| 免费久久99精品国产自|