查看: 5483|回复: 4

[S12] MC9S12XEP100中断编程的问题

[复制链接]

该用户从未签到

1

主题

1

帖子

0

新手上路

Rank: 1

积分
20
最后登录
1970-1-1
发表于 2009-2-13 18:03:14 | 显示全部楼层 |阅读模式
#pragma CODE_SEG NON_BANKED
#pragma TRAP_PROC
void OC0_Interrupt_Routine(void) {
TIM_TFLG1_C0F = 1; /* clear OC0 interrupt flag */
}
在以上程序中"#pragma CODE_SEG NON_BANKED"是什么意思?为什么没了此句话之后会出现如下错误:
"nitializing of Vector OC0_Interrupt_Routine failed because of over or underflow of vector value"
我知道答案 目前已有3人回答
回复

使用道具 举报

该用户从未签到

0

主题

3

帖子

0

新手上路

Rank: 1

积分
0
最后登录
1970-1-1
发表于 2009-3-6 12:25:23 | 显示全部楼层

RE:MC9S12XEP100中断编程的问题

"#pragma CODE_SEG NON_BANKED"
================================
这句是告诉编译器,下面是个代码段!
nitializing of Vector OC0_Interrupt_Routine failed because of over or underflow of vector value
================================
这句是因为你的VECTOR address没有弄好!

该用户从未签到

30

主题

168

帖子

0

高级会员

Rank: 4

积分
799
最后登录
1970-1-1
发表于 2009-3-8 19:31:58 | 显示全部楼层

RE:MC9S12XEP100中断编程的问题

一边在中断函数前面加上这个语句就可以:
        #pragma CODE_SEG __NEAR_SEG NON_BANKED

该用户从未签到

3

主题

15

帖子

0

新手上路

Rank: 1

积分
29
最后登录
1970-1-1
发表于 2009-10-29 11:03:07 | 显示全部楼层

回复:MC9S12XEP100中断编程的问题

 因为中断比较放在NON_BANKED里,中断用RTI返回,只有两个字节的地址,所以只能放在NONBANKED
  • TA的每日心情
    擦汗
    2019-7-6 18:29
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    0

    主题

    212

    帖子

    0

    高级会员

    Rank: 4

    积分
    901
    最后登录
    2025-4-17
    发表于 2010-10-27 11:09:56 | 显示全部楼层

    RE:MC9S12XEP100中断编程的问题

    谢谢楼主分享,学习了,谢谢!
    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-21 03:57 , Processed in 0.091508 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表