<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > ARM系統中觸摸屏的中斷處理方法

ARM系統中觸摸屏的中斷處理方法

作者: 時(shí)間:2017-06-04 來(lái)源:網(wǎng)絡(luò ) 收藏

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

本文引用地址:http://dyxdggzs.com/article/201706/348428.htm

  
1 觸摸屏

  (1)觸摸屏簡(jiǎn)介

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

  (2)S3C2410A觸摸屏控制器

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

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

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

  2.1 S3C2410A中斷寄存器

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

  2.2 中斷與中斷服務(wù)程序

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

  為了方便使用高級語(yǔ)言編寫(xiě)異常處理函數,ARM編譯器對異常處理函數作了特定的擴展,只要使用關(guān)鍵字__irq,編譯出來(lái)的函數就滿(mǎn)足異常響應對現場(chǎng)保護和恢復的需要。

  在A(yíng)DS編譯器中,__irq專(zhuān)門(mén)用來(lái)聲明IRQ中斷服務(wù)程序。如果用__irq來(lái)聲明一個(gè)函數,那么該函數就是IRQ中斷服務(wù)程序,編譯器會(huì )自動(dòng)在函數內部增加中斷現場(chǎng)保護代碼。


3 中斷方式實(shí)現觸摸屏驅動(dòng)

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

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

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

  #define BIT_SUB_TC(0x19)

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

  #define BIT_ADC(0xl31)

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

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

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

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

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


  
結語(yǔ)

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



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>