Zynq篇——uart中断

发布者:灵感发电站最新更新时间:2019-09-16 来源: eefocus关键字:Zynq篇  uart中断  中断处理函数 手机看文章 扫描二维码
随时随地手机看文章

中断处理函数映射说法是否正确不敢保证,意思就是将中断处理函数的地址与参数放入中断向量表中(_vector_table)中。


早期运用的arm芯片规模较小,在芯片上直接有uart的中断服务函数地址寄存器,直接将中断服务函数的地址写入寄存器就搞定了。然后zynq似乎比较复杂,中断也比较。在zynq中有个Scu(snoop control unit窥探控制单元,也是arm所有的)专门控制中断处理。Vivado SDK中提供了scugic驱动来处理相关的操作。下面具体说一下,中断hook的过程。


XScuGic_LookupConfig  // 找到scugic的定义实体;


XScuGic_CfgInitialize //  初始化scugic实体;


Xil_ExceptionInit()   //异常处理初始化


Xil_ExceptionRegisterHandler(XIL_EXCEPTION_ID_IRQ_INT,


(Xil_ExceptionHandler)XScuGic_InterruptHandler,


pScuGic);


这一步基本是固定的,中断触发之后统一由XScuGic_InterruptHandler先处理,然后在HandlerTable中查找相应的处理函数。这个HandlerTable数组的长度为95个,包含了所有的中断ID。


Xil_ExceptionEnable(); 异常处理使能


XScuGic_Connect( pScuGic,XPAR_PS7_UART_1_INTR, (Xil_InterruptHandler)ZUartPs_InterruptHandler , (void*)pUart1Inst);


这才是将我们定义的中断服务函数地址映射到HandlerTable中。也可以使用UartPs驱动中包含的中断处理函数。


XScuGic_Enable( pScuGic, XPAR_PS7_UART_1_INTR); 使能uart对应的中断ID。


XUartPs_SetInterruptMask( pUart1Inst, XUARTPS_IXR_RXOVR | XUARTPS_IXR_TXEMPTY /*| XUARTPS_IXR_TNFUL*/ ); 这应用程序中开启接收缓冲fifo中断与发送为空中断。


这时uart接收到数据,则会自动跳入中断处理函数ZUartPs_InterruptHandler中。向发送硬fifo中写入数据,在数据发空后,也会跳入中断处理函数ZUartPs_InterruptHandler中。两者根据不同中断状态寄存器中的标识进行相应的处理。

关键字:Zynq篇  uart中断  中断处理函数 引用地址:Zynq篇——uart中断

上一篇:解决stm8会卡在串口中断的问题
下一篇:STM8S学习03——寄存器版本的一些程序

推荐阅读最新更新时间:2024-11-08 16:42

LM3S9B96 的UART中断方式收发数据
lm3s9b96的uart发送和接收都可以进入用户编写的中断处理函数。 uart的配置无非是设置:波特率、数据位、停止位、奇偶校验位等。 下面是用uart1为例,配置成中断方式收发数据 #include inc/lm3s9b96.h #include inc/hw_memmap.h #include inc/hw_types.h #include inc/hw_ints.h #include driverlib/interrupt.h #include driverlib/gpio.h #include driverlib/uart.h #include driverlib/sysctl.h
[单片机]
8051外部中断0解析
程序实现功能: 在实验板上左下方有一个黑色的独立按键(K3), 当我们按下它时, D1(LED灯)的状态就会取反. 思路分析: 我们令IT0 = 1, 即选择了 边沿触发 , 所以每当独立按键按下时, 中断处理函数EX_INT0()就会执行. 当进入中断处理函数执行时, 若P32引脚的电平为低电平, 则说明K3按键已按下; 若P32引脚的电平为高电平, 说明K3按键已抬起. 低电平触发 和 边沿触发 的区别: ① 低电平触发 是指在电平处于低电平态的时间内触发. ② 边沿触发 是指在电平由高 - 低或由低 - 高的一瞬间触发. 独立按键电路原理图: 抖动的处理: 为什么我们要在中断处理函数
[单片机]
8051外部<font color='red'>中断</font>0解析
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved