Zynq中斷大致可分為三個部分
第一部分為SGI,軟件生成的中斷,共16個端口;
第三部分為SPI,共享外設(shè)中斷,來自于44個PS端的IO外設(shè)以及16個PL端的中斷。中間部分為GIC,也即中斷控制器,用于對中斷進行使能、關(guān)閉、掩碼、設(shè)置優(yōu)先等。


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

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

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


接下來設(shè)置帶有中斷的GPIO
INT_MASK:中斷掩碼
INT_DIS: 中斷關(guān)閉
INT_EN: 中斷使能
INT_TYPE: 中斷類型,設(shè)置電平敏感還是邊沿敏感
INT_POLARITY:中斷極性,設(shè)置低電平或下降沿還是高電平或上升沿
INT_ANY: 邊沿觸發(fā)方式,需要INT_TYPE設(shè)置為邊沿敏感才能使用

GPIO初始化→設(shè)置按鍵和LED方向→設(shè)置產(chǎn)生中斷方式→設(shè)置中斷→打開中斷控制器→打開中斷異常→打開GPIO中斷→判斷KEY_FLAG值,是1,寫LED
GPIO_CONFIG =XGpioPs_LookupConfig(MIO_0_ID) ; Status =XGpioPs_CfgInitialize(&GPIO_PTR, GPIO_CONFIG, PIO_CONFIG->BaseAddr) ; //設(shè)置LED方向 XGpioPs_SetDirectionPin(&GPIO_PTR,0, GPIO_OUTPUT) ; XGpioPs_SetDirectionPin(&GPIO_PTR,13, GPIO_OUTPUT) ; //設(shè)置按鍵方向 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) ; //設(shè)置中斷類型 0表示上升沿 XGpioPs_SetIntrTypePin(&GPIO_PTR,PS_KEY1, 0);//rising edge XGpioPs_SetIntrTypePin(&GPIO_PTR,PS_KEY2, 0);//rising edge //設(shè)置按鍵使能 XGpioPs_IntrEnablePin(&GPIO_PTR,PS_KEY1) ; XGpioPs_IntrEnablePin(&GPIO_PTR,PS_KEY2) ; //設(shè)置中斷 Status= IntrInitFuntion(&INTCInst, MIO_0_ID, &GPIO_PTR) ; //產(chǎn)生按鍵的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 ; } } 編輯:hfy
-
cpu
+關(guān)注
關(guān)注
68文章
11279瀏覽量
224965 -
MIO
+關(guān)注
關(guān)注
0文章
12瀏覽量
8362 -
Zynq
+關(guān)注
關(guān)注
10文章
630瀏覽量
49448
發(fā)布評論請先 登錄
駿馬奔騰,芯向未來:SiC功率器件的“三個必然”與丙午馬年的產(chǎn)業(yè)躍遷
altium designer 如何畫短路兩個或者三個網(wǎng)絡(luò)的封裝?
“三個必然”戰(zhàn)略論斷下的SiC碳化硅功率半導(dǎo)體產(chǎn)業(yè)演進與自主可控之路
PPI(Passive Plus):高性能射頻/微波無源元件領(lǐng)域的卓越領(lǐng)航者
未來工業(yè)AI發(fā)展的三個必然階段
SPI通信可不可以不使用中斷?
CH367連接zynq問題
LP87744-Q1 汽車,三個 3A 低噪聲降壓轉(zhuǎn)換器和 5V 升壓轉(zhuǎn)換器數(shù)據(jù)手冊
半導(dǎo)體制造過程中的三個主要階段
Zynq7000處理器的配置詳解
Zynq中斷的三個部分:SGI、PPI、SPI
評論