共2条
1/1 1 跳转至页
IRQ 关于 IRQ中断地问题。老周多帮忙。

问
我什么时候向下面这样定义中断函数入口 我又什么时候用_irq 关键字直接来定义呢?
总是搞不清楚。
;/* 以下添加中断句柄,用户根据实际情况改变 */
;/* Add interrupt handler here,user could change it as needed */
;/*中断*/
;/*Interrupt*/
IRQ_Handler HANDLER IRQ_Exception
;/*定时器0中断*/
;/*Time0 Interrupt*/
Timer0_Handler HANDLER Timer0_Exception
;通用串行口0中断
UART0_Handler HANDLER UART0_Exception
********************************************************************************************************/
void VICInit(void)
{
extern void IRQ_Handler(void);
extern void Timer0_Handler(void);
extern void UART0_Handler(void);
VICIntEnClr = 0xffffffff;
VICDefVectAddr = (uint32)IRQ_Handler;
VICVectAddr0 = (uint32)Timer0_Handler;
VICVectCntl0 = (0x20 | 0x04);
VICIntEnable = 1 << 4;
VICVectAddr14 = (uint32)UART0_Handler;
VICVectCntl14 = (0x20 | 0x06);
VICIntEnable = 1 << 6;
}
答 1: 使用汇编接口(即宏HANDLER)就不使用。如果直接使用C语言编写中断服务程序就需要。 答 2: 哦,两种方法,任选一种都行。没有分别吗?
我什么时候向下面这样定义中断函数入口 我又什么时候用_irq 关键字直接来定义呢?
总是搞不清楚。
;/* 以下添加中断句柄,用户根据实际情况改变 */
;/* Add interrupt handler here,user could change it as needed */
;/*中断*/
;/*Interrupt*/
IRQ_Handler HANDLER IRQ_Exception
;/*定时器0中断*/
;/*Time0 Interrupt*/
Timer0_Handler HANDLER Timer0_Exception
;通用串行口0中断
UART0_Handler HANDLER UART0_Exception
********************************************************************************************************/
void VICInit(void)
{
extern void IRQ_Handler(void);
extern void Timer0_Handler(void);
extern void UART0_Handler(void);
VICIntEnClr = 0xffffffff;
VICDefVectAddr = (uint32)IRQ_Handler;
VICVectAddr0 = (uint32)Timer0_Handler;
VICVectCntl0 = (0x20 | 0x04);
VICIntEnable = 1 << 4;
VICVectAddr14 = (uint32)UART0_Handler;
VICVectCntl14 = (0x20 | 0x06);
VICIntEnable = 1 << 6;
}
答 1: 使用汇编接口(即宏HANDLER)就不使用。如果直接使用C语言编写中断服务程序就需要。 答 2: 哦,两种方法,任选一种都行。没有分别吗?
共2条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
C语言函数宏的三种封装方式被打赏50分 | |
嵌入式LinuxC语言程序调试和宏使用技巧被打赏50分 | |
让代码中包含最新的编译时间信息被打赏50分 | |
【分享开发笔记,赚取电动螺丝刀】STM32F769LVGL优化显示被打赏26分 | |
rtthread硬件加密--2crc加密分析被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】STM32F769驱动ST7789以及显示优化被打赏36分 | |
【分享开发笔记,赚取电动螺丝刀】S32K146 PAL模拟I2C驱动适配被打赏23分 | |
我想要一部加热台+电源硬件设计规范被打赏16分 | |
我想要一部加热台+LED背光驱动芯片RT9293知识被打赏18分 | |
【分享开发笔记,赚取电动螺丝刀】S32K146 ADC 模块配置使用被打赏24分 |