中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Zynq中斷可以分為幾部分

發布時間:2021-09-03 18:57:21 來源:億速云 閱讀:195 作者:chen 欄目:互聯網科技

本篇內容主要講解“Zynq中斷可以分為幾部分”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Zynq中斷可以分為幾部分”吧!

Zynq中斷大致可分為三個部分

第一部分為SGI,軟件生成的中斷,共16個端口;

第二部分為PPI,CPU私有外設中斷,有5個;

第三部分為SPI,共享外設中斷,來自于44個PS端的IO外設以及16個PL端的中斷。中間部分為GIC,也即中斷控制器,用于對中斷進行使能、關閉、掩碼、設置優先等。

Zynq中斷可以分為幾部分

 以下為中斷控制器框圖,主要的控制器部分為  ICC  和  ICD  ,  ICD  連接  SGI  和  PPI  ,  ICD  連接  SPI  ,可配置兩者的寄存器來控制中斷。

Zynq中斷可以分為幾部分

SGI中斷(軟件產生中斷),共16個IRQ ID號

Zynq中斷可以分為幾部分

PPI中斷,CPU私有中斷,共5個IRQ ID號

 Zynq中斷可以分為幾部分

SPI中斷部分,共60個IRQ ID號

Zynq中斷可以分為幾部分

Zynq中斷可以分為幾部分

接  下來設置帶有中斷的  GPIO
     INT_M  ASK  :中斷掩碼

INT_DIS: 中斷關閉

INT_EN: 中斷使能

INT_TYPE: 中斷類型,設置電平敏感還是邊沿敏感

INT_POLARITY:中斷極性,設置低電平或下降沿還是高電平或上升沿

INT_ANY: 邊沿觸發方式,需要INT_TYPE設置為邊沿敏感才能使用 

Zynq中斷可以分為幾部分

GPIO初始化à設置按鍵和LED方向à設置產生中斷方式à設置中斷à打開中斷控制器à打開中斷異常à打開GPIO中斷à判斷KEY_FLAG值,是1,寫LED

GPIO_CONFIG =XGpioPs_LookupConfig(MIO_0_ID) ;

Status =XGpioPs_CfgInitialize(&GPIO_PTR, GPIO_CONFIG, PIO_CONFIG->BaseAddr) ;

    //設置LED方向

    XGpioPs_SetDirectionPin(&GPIO_PTR,0, GPIO_OUTPUT) ;

    XGpioPs_SetDirectionPin(&GPIO_PTR,13, GPIO_OUTPUT) ;

    //設置按鍵方向

    XGpioPs_SetDirectionPin(&GPIO_PTR,PS_KEY1, GPIO_INPUT) ;

    XGpioPs_SetDirectionPin(&GPIO_PTR,PS_KEY2, GPIO_INPUT) ;

    //使能LED輸出

    XGpioPs_SetOutputEnablePin(&GPIO_PTR,0, GPIO_OUTPUT) ;

    XGpioPs_SetOutputEnablePin(&GPIO_PTR,13, GPIO_OUTPUT) ;

    //設置中斷類型 0表示上升沿  

XGpioPs_SetIntrTypePin(&GPIO_PTR,PS_KEY1, 0);//rising edge

    XGpioPs_SetIntrTypePin(&GPIO_PTR,PS_KEY2, 0);//rising edge

    //設置按鍵使能

    XGpioPs_IntrEnablePin(&GPIO_PTR,PS_KEY1) ;

    XGpioPs_IntrEnablePin(&GPIO_PTR,PS_KEY2) ;

    //設置中斷

    Status= IntrInitFuntion(&INTCInst, MIO_0_ID, &GPIO_PTR) ;

    //產生按鍵的GPIO

    while(1)

            {

                if (key_flag)

                {

                    XGpioPs_WritePin(&GPIO_PTR,0, key_val) ;

                    XGpioPs_WritePin(&GPIO_PTR,13, key_val) ;

                    key_val= ~key_val ;

                    key_flag= 0 ;

                }

            }

到此,相信大家對“Zynq中斷可以分為幾部分”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大同县| 丰原市| 灵宝市| 宝鸡市| 潼关县| 三都| 鄂伦春自治旗| 丰宁| 分宜县| 康平县| 金山区| 沧州市| 连南| 新沂市| 台中县| 会昌县| 化德县| 霍州市| 乌拉特后旗| 申扎县| 长沙县| 叙永县| 都安| 屏东县| 安康市| 保德县| 手游| 铁力市| 博客| 屯门区| 自贡市| 许昌县| 乐业县| 桐庐县| 大洼县| 九龙城区| 竹溪县| 双鸭山市| 临洮县| 潞西市| 庆元县|