打印

pic24中断问题深入探讨贴。。。

[复制链接]
3340|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
doob|  楼主 | 2013-8-21 18:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 doob 于 2013-8-22 13:57 编辑

一:pic24中断如何深入理解掌握呢?
  有些中断网上参考别人的,虽然可以跑,总要深入理解才可以吧。
   不然产品就很不踏实,出了问题不知从何处下手。
我来抛砖吧,先简单的问题:
1:pic24 中断有入口,怎么来描述这个中断入口程序呢?
例如:UINT8 SYS5ms;

void _ISR _T3Interrupt(void){
        IFS0bits.T3IF = 0;
        //LEDtest15 = !LEDtest15;
        SYS5ms=1;
        //LEDtest13=!LEDtest13;
}  

这个中断表示T3中断;

void _ISR _CNInterrupt(){
  _CNIF = 0;
  LED = !LED;
}这个是外部电平中断,请问pic24怎么区分这两个中断地址?
因为这两个关键字,在编译器里搜不到,请问函数原型在哪里?
呵呵,刚开始用两个以上中断,还没做测试验证,资料也没详细去看。
沙发
doob|  楼主 | 2013-8-22 13:59 | 只看该作者
void _ISR _T3Interrupt(void){
void _ISR _CNInterrupt()
这两个中断函数的原型在哪里?我用的MAPLAB IDEV8.63
编译器里搜不到,请问在哪个文件里能看到?

使用特权

评论回复
板凳
yewuyi| | 2013-8-22 14:59 | 只看该作者
根据所有编译器的一贯原则,你可以按照如下的思路去想:
1、编译器编译时肯定要将中断函数准确定位到它该去的地址。
2、编译器定位它有两种方式:(1)工程师使用直接地址指定的方式将该函数定位到某个地址。(2)编译器根据自身关键字约定将该函数定位到某个地址,这其实和第一个方式是相同的,只不过为了方便工程师而做了一个转换而已。
3、如果在编译器帮助手册中找不到,则可以在连接文件中找找看,编译器编译时先按照函数和文件等编译生成一段段二进制HEX文件,然后根据编译前扫描的符号表再关联连接文件和编译器内部的某些已规定关键字等进行连接而已。
4、如果在编译器和连接文件中都不到,则可联系编译器厂家寻求解释,此时可能是编译器厂家在编译器内部做了隐含规定,但一般来讲,都会在编译器帮助手册给出解释的。

使用特权

评论回复
地板
doob|  楼主 | 2013-8-22 16:06 | 只看该作者
yewuyi 发表于 2013-8-22 14:59
根据所有编译器的一贯原则,你可以按照如下的思路去想:
1、编译器编译时肯定要将中断函数准确定位到它该去 ...

老叶厉害,深入到芯片内部的思维了,,,,
安装目录找到了gld文件,但是看起来写不是很清晰。

使用特权

评论回复
5
yewuyi| | 2013-8-22 16:48 | 只看该作者
doob 发表于 2013-8-22 16:06
老叶厉害,深入到芯片内部的思维了,,,,
安装目录找到了gld文件,但是看起来写不是很清晰。 ...

全是基本道理,没有任何高深内容,掌握这些没有任何厉害之处,不掌握这些说明尚不是称职工程师。

使用特权

评论回复
6
圈圈虫1989| | 2013-8-27 23:13 | 只看该作者
我记得像楼主你这样写,在编译的时候会warning的吧,什么  auto_psv  什么来着。

使用特权

评论回复
7
doob|  楼主 | 2013-8-29 09:21 | 只看该作者
圈圈虫1989 发表于 2013-8-27 23:13
我记得像楼主你这样写,在编译的时候会warning的吧,什么  auto_psv  什么来着。 ...

我试验一下看看。。。。

使用特权

评论回复
8
ailingg| | 2014-4-28 21:54 | 只看该作者
中断入口定义在.gld文件里

使用特权

评论回复
9
sygydxfwd| | 2016-12-28 08:24 | 只看该作者
参照相关芯片的数据手册,里面有一个中断地址的表格,每个中断源都列出了相应的地址和对应的关键字,另外,你这个关键字在微芯自己的的编译器里面(XC8,XC16,XC30)用户指南里有,楼上说的大道理本人表示赞同,他愿意教你解决问题的办法,一下告诉你答案,当时很爽了,以后碰到类似的问题还是解决不了,培养不了你作为工程师解决问题的能力,绝知此事要躬行,把这个流程自己走一遍,感觉就不一样了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

165

主题

1113

帖子

3

粉丝