为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > K60中断向量表问题

K60中断向量表问题

2017-11-30 2页 doc 12KB 50阅读

用户头像

is_597436

暂无简介

举报
K60中断向量表问题K60中断向量表问题 K60中断向量表问题总结 1、 程序在flash中调试,将向量表和程序都下载到flash中,程序执行中若产生中断,因为 到RAM中取地址比到flash中快,所以需要把向量表拷贝到RAM中。 2、 若程序在RAM中调试,程序和向量表直接下载到RAM中,所以不用拷贝。 3、 配置中断 set_irq_priority (51, 6); 设定中断优先级(优先级一般选中间,不要太高也不要太低) enable_irq(51); //使能串口收发中断 enable_irq(52); 中断使能分三个等级:...
K60中断向量表问题
K60中断向量问题 K60中断向量表问题总结 1、 程序在flash中调试,将向量表和程序都下载到flash中,程序执行中若产生中断,因为 到RAM中取地址比到flash中快,所以需要把向量表拷贝到RAM中。 2、 若程序在RAM中调试,程序和向量表直接下载到RAM中,所以不用拷贝。 3、 配置中断 set_irq_priority (51, 6); 设定中断优先级(优先级一般选中间,不要太高也不要太低) enable_irq(51); //使能串口收发中断 enable_irq(52); 中断使能分三个等级:首先是总中断使能 例句来自modbus---arm-cm.4 port.c中调用 /*!< Macro to enable all interrupts. */ #define EnableInterrupts asm(" CPSIE i"); /*!< Macro to disable all interrupts. */ #define DisableInterrupts asm(" CPSID i"); 具体参见cortex M3 P42 然后是开具体一种中断 例如串口3中断(使用减16以后数) enable_irq(51); //使能串口收发中断 enable_irq(52); 最后是寄存器中开中断。 三个等级中断必须全部都使能,才是开了中断。 一般在初始化前先关中断,初始化最后开中断。典型例modbus 4、 中断指向 例如,串口3中断 __VECTOR_RAM[67] = (uint32)sio_irq; //注意:必须重定向中断向量表到RAM中,这两句才正确, __VECTOR_RAM[68] = (uint32)sio_irq; 以上两句是在程序初始化中的语句。此处是在RAM中改变指向(初始都是指向flauts) 在isr.h文件中的是改变flash中的指向。 例如: #undef VECTOR_67 #define VECTOR_67 sio_irq #undef VECTOR_68 #define VECTOR_68 sio_irq
/
本文档为【K60中断向量表问题】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索