• <tfoot id="ukgsw"><input id="ukgsw"></input></tfoot>
    
    • 久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
      分享

      S3C2440的中斷寄存器

       fjc_Embeded 2011-09-08

      2440-中斷寄存器詳解[轉]

      S3C2440的中斷寄存器:

      1.中斷分兩大類:內部中斷和外部中斷。

      2.外部中斷。24個外部中斷占用GPF0-GPF7(EINT0-EINT7),GPG0-GPG15(EINT8-EINT23)。用這些腳做中斷輸入,則必須配置引腳為中斷,并且不要上拉。具體參考datesheet數據手冊。

      寄存器:EXTINT0-EXTINT2:三個寄存器設定EINT0-EINT23的觸發方式。

                    EINTFLT0-EINTFLT3:控制濾波時鐘和濾波寬度。

                    EINTPEND:這個是中斷掛起寄存器,清除時要寫1,后面還有幾個是寫1清除。當一個外部中斷(EINT4-EINT23)發生后,那么相應的位會被置1。為什么沒有EINT0-EINT3,呵呵,看看SRCPND就知道了,里面沒有EINT4-EINT23的位子,所以有了EINTPEND。

                    EINTMASK:這個簡單,是屏蔽中斷用的,也就是說位為1時,此次中斷無效。

      3.內部中斷。內部中斷有8個寄存器,下面逐一來看。

      寄存器:SUBSRCPND:當一個中斷發生后,那么相應的位會被置1,表示一個中斷發生了。

                    INTSUBMSK:與上一個是一伙的,中斷屏蔽寄存器,具體屏蔽什么,自己看手冊去吧。

                    INTMOD:中斷的方式。一個中斷可以是普通中斷,也可以是快中斷,在這里設置,但只能有一個快中斷。

                    PRIORITY :優先級寄存器,不說了。

                    SRCPND :當一個中斷發生后,那么相應的位會被置1,表示一個或一類中斷發生了。

                    INTMSK :中斷屏蔽寄存器。

                    INTPND :中斷發生后,SRCPND中會有位置1,可能好幾個(因為同時可能發生幾個中斷),這些中斷會由優先級仲裁器選出一個最緊迫的,然后吧把INTPND中相應位置1,所以同一時間只有一位是1。也就是說前面的寄存器置1 是表示發生了,只有INTPND置1,CPU才會處理。

                    INTOFFSET :用來表示INTPND中哪一位置1了,好讓你查詢,普通中斷跳轉時查詢用。清除INTPNDSRCPND時自動清除。

      4.各寄存器關系

      下面看圖說明:

      5.中斷過程。

      a 如果是不帶子中斷的內部中斷:發生后SRCPND相應位置1,如果沒有被INTMSK屏蔽,那么等待進一步處理。

      b 如果是帶子中斷的內部中斷:發生后SUBSRCPND相應位置1,如果沒有被INTSUBMSK屏蔽,那么SRCPND相應位置1,等待進一步處理,幾個SUBSRCPND可能對應同一個SRCPND,對應表如下:

      SRCPND                        SUBSRCPND
      INT_UART0                    INT_RXD0,INT_TXD0,INT_ERR0
      INT_UART1                    INT_RXD1,INT_TXD1,INT_ERR1
      INT_UART2                    INT_RXD2,INT_TXD2,INT_ERR2
      INT_ADC                        INT_ADC_S, INT_TC
      INT_CAM                        INT_CAM_C, INT_CAM_P
      INT_WDT_AC97             INT_WDT, INT_AC97

      c 如果是外部中斷:EINT0-EINT3發生后SRCPND相應位置1,如果沒有被INTMSK屏蔽,那么等待進一步處理。EINT4-EINT23發生后EINTPEND相應位置1,如果沒有被EINTMASK屏蔽,那么SRCPND相應位EINT4-7 或EINT8-23置1,如果沒有被INTMSK屏蔽,等待進一步處理,幾個EINTPEND對應同一個SRCPND,對應表如下:

      SRCPND                        EINTPEND

      EINT0                             EINT0

      EINT1                             EINT1

      EINT2                             EINT2

      EINT3                             EINT3

      EINT4-7                          EINT4-EINT4

      EINT8-23                        EINT8-EINT23

      三種中斷都等待進一步處理了。接下來從SRCPND往下看,看INTMSK。如果中斷被屏蔽了,就不用說了(注意:快中斷也能被屏蔽)。如果沒有被屏蔽,那么會進一步到INTMOD。如果是快中斷,那么直接出來,進入FIQ(即CPU進入快中斷模式處理)。如果是普通中斷,那么SRCPND可以有多為置1(FIQ只能有一個),這時就會經過PRIORITY選出一個優先級高的,然后把根據選出的中斷把INTPND相應位置1(注意:只能選出一個),進入IRQ,讓CPU處理。

      6.中斷的開啟。

      a.如果是不帶子中斷的內部中斷,只需設置INTMSK,讓它不屏蔽中斷就可以了。

      b 如果是帶子中斷的內部中斷,需設置INTSUBMSKINTMSK,讓它門不屏蔽中斷就可以了。

      c 如果是外部中斷,對于EINT8-23需要設置EINTMASKINTMSK。對于EINT0-EINT3只需設置INTMSK

      7.中斷的清除。

      a.如果是不帶子中斷的內部中斷,只需清除SRCPND,注意清除需位置1。

      b 如果是帶子中斷的內部中斷,需清除SRCPNDSUBSRCPND,注意先清除SUBSRCPND,再清除SRCPND。因為,如果你先清除SRCPND的話,然后在清除SUBSRCPND的過程中,SRCPND會以為又有中斷發生,又會置1。也就是說一次中斷會響應兩次。所以必須先掐斷源頭。

      c 如果是外部中斷,對于EINT8-23需要清除EINTPENDSRCPND(同樣注意順序)。對于EINT0-EINT3只需清除SRCPND。

      本文詳細分析了S3C2440的中斷寄存器,對arm初學者有一定的幫助。

        本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發表

        請遵守用戶 評論公約

        類似文章 更多

        主站蜘蛛池模板: 强奷漂亮人妻系列老师 | 香蕉EEWW99国产精选免费| 亚洲人成网线在线播放VA | 欧美老少配性行为| 鲁丝一区二区三区免费| 在线看片免费人成视频电影| 亚洲国产日韩一区三区| 人妻少妇久久中文字幕| 国产精品午夜福利精品| 九九久久精品国产免费看小说| 99中文字幕国产精品| 亚洲乱码一卡二卡卡3卡4卡| 久久精品国产www456c0m| 好男人好资源WWW社区| 狠狠久久亚洲欧美专区| 国产女主播白浆在线看| 公天天吃我奶躁我的在线观看| 国产AV无码专区亚洲AV潘金链| 久久精品久久电影免费理论片| 国产SUV精品一区二区88L| 亚洲精品麻豆一区二区| 国产一精品一AV一免费爽爽| 精品中文人妻中文字幕| 精精国产XXXX视频在线播放| 高清自拍亚洲精品二区| 亚洲高清国产拍精品青青草原| 宅男噜噜噜66网站高清| 91中文字幕一区二区| 久久伊人精品青青草原APP| 欧美老少配性行为| 韩国免费a级毛片久久| 97久久精品无码一区二区| 国产亚洲AV电影院之毛片| A级毛片不卡在线播放| 久久久久久久波多野结衣高潮| 日本一区二区三区免费播放视频站| 精品乱人伦一区二区三区| 又黄又无遮挡AAAAA毛片| 人妻中文字幕亚洲精品| 久久免费精品国自产拍网站| 国产愉拍精品手机|