当然,您还需要正确配置中断。例如,您希望采用边缘触发或水平触发吗?若答案为是,那么采用这个函数能实现何种边缘和水平呢? 在这里,xgpiops.h中五个定义中的其中一个可对IrqType定义。这五个定义是: 如果您决定使用 Bank 使能,那么您需要知道您希望使能中断的单个引脚或多引脚位于哪个 Bank 上。Zynq SoC最多支持118个GPIO。在这种配置下,所有MIO(54个引脚)都会与EMIO(64个引脚)一起被用作GPIO。我们能将这个配置分为四个Bank,每个Bank容纳32个引脚。
此外,这项设置功能还将定义中断服务例程,发生中断时,可用以下函数调用该例程: 中断服务例程的繁简程度由其应用定义。在该例中,每按一次按钮,它便会触发一个LED,打开和关闭这个LED。另外,在每次按下按钮时,中断服务例程还会向控制台打印一条信息。 专有定时器举例
Zynq SoC拥有许多可用的定时器和看门狗监视器。它们既可作为一个CPU的专用资源也可作为两个CPU的共享资源。如需在您的设计中高效利用这些组件,则需要中断。这些定时器和看门狗监视器包括:
CPU 32位定时器(SCUTIMER),以CPU频率的一半计时
CPU 32位看门狗监视器(SCUWDT),以CPU频率的一半计时
共享64位全局定时器(GT),以CPU频率的一半计时(每个CPU都有其自己的64位比较器;它与GT配合使用,能驱动各个CPU的专用中断)