Xil_ExceptionRegisterHandler(XIL_EXCEPTION_ID_IRQ_INT,(Xil_ExceptionHandler)XScuGic_InterruptHandler,&Gic);Status=XScuGic_Connect(&Gic,GPIOINTR_ID,(Xil_InterruptHandler)XGpioPs_IntrHandler,(void*)&Gpio);XGpioPs_SetCallbackHandler(&Gpio,(void*)&Gpio,(XGpioPs_Handler)UserDefKeyInterupt); 为什么要...
一、GPIO原理 1.GPIO介绍 程序员通过软件代码可以独立和动态地对每个 GPIO 进行控制,使其作为输入、输出或中断。 (1)通过一个加载指令,软件可以读取一个 GPIO 组内所有 GPIO 的值。 (2)通过一个保存指令,将数据写到一个 GPIO 组内的一个或多个 GPIO 。(3)在 Z
bank01通过MIO连接到PS引脚,bank23通过EMIO(extendable multiuse IO)连接到PL部分(既可以使用PL的引脚又可以和模块通信)。EMIOGPIOI是输入,EMIOGPIOO是输出,EMIOGPIOTN输出使能 对于MIO GPIO通过DATA_RO寄存器实现input功能(特殊地,DATA_RO可以在输出时反应当前GPIO引脚的状态,向其写入会被忽略) 在GPIO被配置为输出时...
ZYNQ笔记(3):GPIO的使⽤(MIO、EMIO)——led灯 ⼀、GPIO原理 1.GPIO介绍 程序员通过软件代码可以独⽴和动态地对每个 GPIO 进⾏控制,使其作为输⼊、输出或中断。 (1)通过⼀个加载指令,软件可以读取⼀个 GPIO 组内所有 GPIO 的值。 (2)通过⼀个保存指令,将数据写到⼀...
先来了解GPIO的BANK分布,在UG585文档GPIO一章中可以看到GPIO是有4个BANK, 注意与MIO的BANK区分。 BANK0 控制32个信号,BANK1控制22个信号,总共是MIO的54个引脚,也就是诸如 SPI,I2C,USB,SD 等 PS 端外设接口; BANK2和BANK3共能控制64个PL端引脚,注意每一组都有三个信号,输入EMIOGPIOI, ...
ZYNQ 的中断框图 MIO 内部构造 如上图所示,在 GPIO 使用中断时,会涉及到 7 个寄存器:INT_MASK:...
u32 led_Auto_gpio ; u32 Key_gpio_value ;intkey_gpio_status;intled_auto_gpio_status;intled_key_gpio_status;inti;//定义EMIO所用参数,和MIO所用参数。//使用EMIO 和MIO都需要对PS侧GPIO进行初始化,当两个都使用时只需要初始化一次就可以了,所以有些参数共同使用staticXGpioPs psGpioInstancePtr;//共...
再后面就在while(1)中循环点灯,用XGpioPs_WritePin函数输出高低电平。 这是纯PS点流水灯。 3. PS通过EMIO点亮PL端LED 通过EMIO点PL端LED,在配置zynq ip核时,基本步骤差不多,包括去到PL资源等,唯一不同的是,在GPIO里,勾上EMIO并且分配宽度是4(因为我的小板子PL端有四个LED)。
ZYNQ 共有三种GPIO:MIO、EMIO、AXI_GPIO。 Ug585 MIO & EMIO 1、MIO multiuse I/O,多功能IO接口,分配在 GPIO 的 Bank0 和Bank1,属于Zynq的PS部分。在芯片外部有54个引脚,这些引脚可以用在GPIO、SPI、UART、TIMER、Ethernet、USB等功能上,每个引脚都同时具有多种功能,故叫多功能。这些 IO 与 PS 直接相连。
2.2.2.配置AXI_GPIO使能中断 这里因为4个按键是连接在axi_gpio_0上的,所以双击axi_gpio_0 ip核进行配置,如图,选择使能中断: 可以看到与未配置中断的axi_gpio_1有区别: 2.2.3.配置Zynq PS系统接收中断请求 在配置之前需要对Zynq中的中断信号有个大致的了解,其中PS和PL之间的中断信号如表所示: ...