查看: 7970|回复: 13

[其他] 12X的中断向量问题

[复制链接]

该用户从未签到

2

主题

9

帖子

0

新手上路

Rank: 1

积分
19
最后登录
1970-1-1
发表于 2009-10-18 08:43:41 | 显示全部楼层 |阅读模式
各位大侠,大家好,我最近在用9s12xdp512的片子,建立了一个单核的工程,但是不知道怎么用中断,以前用9s12dp256的片子,记得是有一个文件是isr_vector.c的文件,里面有中断向量表,但是在12x的文件里面就没有,请各位大侠指教!!!!
我知道答案 目前已有12人回答
回复

使用道具 举报

该用户从未签到

0

主题

8

帖子

0

新手上路

Rank: 1

积分
2
最后登录
1970-1-1
发表于 2009-10-19 09:32:57 | 显示全部楼层

RE:12X的中断向量问题

你看到isr_vector.c是你用PE专家产生代码得来的,有些芯片它不一定支持PE专家的,你得要自己写代码,定义中断的格式是:
#pragma CODE_SEG NON_BANKED    //声明下面是中断代码位置
void interrupt INTERRUPT_VETOR_NUM Function_ISA(void)
{

}
#pragma CODE_SEG DEFAULT

该用户从未签到

0

主题

15

帖子

0

新手上路

Rank: 1

积分
40
最后登录
1970-1-1
发表于 2009-10-19 23:35:50 | 显示全部楼层

RE:12X的中断向量问题

我的XS128的SCI1中断如下:
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 21 SCI1_ISR(void)
{
    SCI1CR2_RIE = 0;
    if(SCI1SR1_RDRF)
    {
        recv_buffer[recv_index++]=SCI1DRL;
    }
    SCI1CR2_RIE = 1;   
}

该用户从未签到

0

主题

15

帖子

0

新手上路

Rank: 1

积分
40
最后登录
1970-1-1
发表于 2009-10-19 23:37:13 | 显示全部楼层

RE:12X的中断向量问题

我的XS128的SCI1中断如下:
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 21 SCI1_ISR(void)
{
    SCI1CR2_RIE = 0;
    if(SCI1SR1_RDRF)
    {
        recv_buffer[recv_index++]=SCI1DRL;
    }
    SCI1CR2_RIE = 1;   
}

该用户从未签到

2

主题

9

帖子

0

新手上路

Rank: 1

积分
19
最后登录
1970-1-1
 楼主| 发表于 2009-10-23 19:48:44 | 显示全部楼层

RE:12X的中断向量问题

谢谢你给我的回复,
关键是我不知道怎么找到具体的中断对应的INTERRUPT_VETOR_NUM
请指教,比如某个SCi的中断对应21
但是对于CAN呢?
我就不知道是那个数了

该用户从未签到

0

主题

4

帖子

0

新手上路

Rank: 1

积分
8
最后登录
1970-1-1
发表于 2009-10-29 09:41:41 | 显示全部楼层

RE:12X的中断向量问题

在Libraries中的.h文件中有中断向量表
#define VectorNumber_Vcan4tx            55
#define VectorNumber_Vcan4rx            54
#define VectorNumber_Vcan4err           53
#define VectorNumber_Vcan4wkup          52
#define VectorNumber_VReserved51        51
#define VectorNumber_VReserved50        50
#define VectorNumber_VReserved49        49
#define VectorNumber_VReserved48        48
#define VectorNumber_VReserved47        47
#define VectorNumber_VReserved46        46
#define VectorNumber_VReserved45        45
#define VectorNumber_VReserved44        44
#define VectorNumber_VReserved43        43
#define VectorNumber_VReserved42        42
#define VectorNumber_VReserved41        41
#define VectorNumber_VReserved40        40
#define VectorNumber_Vcan0tx            39
#define VectorNumber_Vcan0rx            38
#define VectorNumber_Vcan0err           37
#define VectorNumber_Vcan0wkup          36
#define VectorNumber_Vflash             35
#define VectorNumber_Veeprom            34
#define VectorNumber_VReserved86        33
#define VectorNumber_Vspi1              32
#define VectorNumber_Viic0              31
#define VectorNumber_VReserved30        30
#define VectorNumber_Vcrgscm            29
#define VectorNumber_Vcrgplllck         28
#define VectorNumber_Vtimpabovf         27
#define VectorNumber_Vtimmdcu           26
#define VectorNumber_Vporth             25
#define VectorNumber_Vportj             24
#define VectorNumber_Vatd1              23
#define VectorNumber_VReserved22        22
#define VectorNumber_Vsci1              21
#define VectorNumber_Vsci0              20
#define VectorNumber_Vspi0              19
#define VectorNumber_Vtimpaie           18
#define VectorNumber_Vtimpaaovf         17
#define VectorNumber_Vtimovf            16
#define VectorNumber_Vtimch7            15
#define VectorNumber_Vtimch6            14
#define VectorNumber_Vtimch5            13
#define VectorNumber_Vtimch4            12
#define VectorNumber_Vtimch3            11
#define VectorNumber_Vtimch2            10
#define VectorNumber_Vtimch1            9
#define VectorNumber_Vtimch0            8
#define VectorNumber_Vrti               7
#define VectorNumber_Virq               6
#define VectorNumber_Vxirq              5
#define VectorNumber_Vswi               4
#define VectorNumber_Vtrap              3
#define VectorNumber_Vcop               2
#define VectorNumber_Vclkmon            1
#define VectorNumber_Vreset             0

该用户从未签到

2

主题

9

帖子

0

新手上路

Rank: 1

积分
19
最后登录
1970-1-1
 楼主| 发表于 2009-11-3 19:56:29 | 显示全部楼层

回复:12X的中断向量问题

大侠:
        我找到了,但是和你的不一样啊!
都是很大的16进制啊!怎么玩啊?
#define Vcan4tx                         0x0000FF90
#define Vcan4rx                         0x0000FF92
#define Vcan4err                        0x0000FF94
#define Vcan4wkup                       0x0000FF96
#define Vcan3tx                         0x0000FF98
#define Vcan3rx                         0x0000FF9A
#define Vcan3err                        0x0000FF9C
#define Vcan3wkup                       0x0000FF9E
#define Vcan2tx                         0x0000FFA0
#define Vcan2rx                         0x0000FFA2
#define Vcan2err                        0x0000FFA4
#define Vcan2wkup                       0x0000FFA6
#define Vcan1tx                         0x0000FFA8
#define Vcan1rx                         0x0000FFAA
#define Vcan1err                        0x0000FFAC
#define Vcan1wkup                       0x0000FFAE
#define Vcan0tx                         0x0000FFB0
#define Vcan0rx                         0x0000FFB2
#define Vcan0err                        0x0000FFB4
#define Vcan0wkup                       0x0000FFB6
#define Vflash                          0x0000FFB8
#define Veeprom                         0x0000FFBA
#define Vspi2                           0x0000FFBC
#define Vspi1                           0x0000FFBE
#define Viic0                           0x0000FFC0
#define VReserved30                     0x0000FFC2
#define Vcrgscm                         0x0000FFC4
#define Vcrgplllck                      0x0000FFC6
#define Vtimpabovf                      0x0000FFC8
#define Vtimmdcu                        0x0000FFCA
#define Vporth                          0x0000FFCC
#define Vportj                          0x0000FFCE
#define Vatd1                           0x0000FFD0
#define Vatd0                           0x0000FFD2
#define Vsci1                           0x0000FFD4
#define Vsci0                           0x0000FFD6
#define Vspi0                           0x0000FFD8
#define Vtimpaie                        0x0000FFDA
#define Vtimpaaovf                      0x0000FFDC
#define Vtimovf                         0x0000FFDE
#define Vtimch7                         0x0000FFE0
#define Vtimch6                         0x0000FFE2
#define Vtimch5                         0x0000FFE4
#define Vtimch4                         0x0000FFE6
#define Vtimch3                         0x0000FFE8
#define Vtimch2                         0x0000FFEA
#define Vtimch1                         0x0000FFEC
#define Vtimch0                         0x0000FFEE
#define Vrti                            0x0000FFF0
#define Virq                            0x0000FFF2
#define Vxirq                           0x0000FFF4
#define Vswi                            0x0000FFF6
#define Vtrap                           0x0000FFF8
#define Vcop                            0x0000FFFA
#define Vclkmon                         0x0000FFFC
#define Vreset                          0x0000FFFE

该用户从未签到

2

主题

9

帖子

0

新手上路

Rank: 1

积分
19
最后登录
1970-1-1
 楼主| 发表于 2009-11-3 19:57:11 | 显示全部楼层

回复:12X的中断向量问题

大侠:
        我找到了,但是和你的不一样啊!
都是很大的16进制啊!怎么玩啊?
#define Vcan4tx                         0x0000FF90
#define Vcan4rx                         0x0000FF92
#define Vcan4err                        0x0000FF94
#define Vcan4wkup                       0x0000FF96
#define Vcan3tx                         0x0000FF98
#define Vcan3rx                         0x0000FF9A
#define Vcan3err                        0x0000FF9C
#define Vcan3wkup                       0x0000FF9E
#define Vcan2tx                         0x0000FFA0
#define Vcan2rx                         0x0000FFA2
#define Vcan2err                        0x0000FFA4
#define Vcan2wkup                       0x0000FFA6
#define Vcan1tx                         0x0000FFA8
#define Vcan1rx                         0x0000FFAA
#define Vcan1err                        0x0000FFAC
#define Vcan1wkup                       0x0000FFAE
#define Vcan0tx                         0x0000FFB0
#define Vcan0rx                         0x0000FFB2
#define Vcan0err                        0x0000FFB4
#define Vcan0wkup                       0x0000FFB6
#define Vflash                          0x0000FFB8
#define Veeprom                         0x0000FFBA
#define Vspi2                           0x0000FFBC
#define Vspi1                           0x0000FFBE
#define Viic0                           0x0000FFC0
#define VReserved30                     0x0000FFC2
#define Vcrgscm                         0x0000FFC4
#define Vcrgplllck                      0x0000FFC6
#define Vtimpabovf                      0x0000FFC8
#define Vtimmdcu                        0x0000FFCA
#define Vporth                          0x0000FFCC
#define Vportj                          0x0000FFCE
#define Vatd1                           0x0000FFD0
#define Vatd0                           0x0000FFD2
#define Vsci1                           0x0000FFD4
#define Vsci0                           0x0000FFD6
#define Vspi0                           0x0000FFD8
#define Vtimpaie                        0x0000FFDA
#define Vtimpaaovf                      0x0000FFDC
#define Vtimovf                         0x0000FFDE
#define Vtimch7                         0x0000FFE0
#define Vtimch6                         0x0000FFE2
#define Vtimch5                         0x0000FFE4
#define Vtimch4                         0x0000FFE6
#define Vtimch3                         0x0000FFE8
#define Vtimch2                         0x0000FFEA
#define Vtimch1                         0x0000FFEC
#define Vtimch0                         0x0000FFEE
#define Vrti                            0x0000FFF0
#define Virq                            0x0000FFF2
#define Vxirq                           0x0000FFF4
#define Vswi                            0x0000FFF6
#define Vtrap                           0x0000FFF8
#define Vcop                            0x0000FFFA
#define Vclkmon                         0x0000FFFC
#define Vreset                          0x0000FFFE

该用户从未签到

0

主题

17

帖子

0

新手上路

Rank: 1

积分
79
最后登录
1970-1-1
发表于 2009-11-4 13:26:57 | 显示全部楼层

RE:12X的中断向量问题

在mc9s12xdp512.h中
/**************** interrupt vector numbers ****************/
#define VectorNumber_Vsi                119
#define VectorNumber_Reserved119        118
#define VectorNumber_Reserved118        117
#define VectorNumber_Reserved117        116
#define VectorNumber_Reserved116        115
#define VectorNumber_Reserved115        114
#define VectorNumber_Reserved114        113
#define VectorNumber_Reserved113        112
#define VectorNumber_Reserved112        111
#define VectorNumber_Reserved111        110
#define VectorNumber_Reserved110        109
#define VectorNumber_Reserved109        108
#define VectorNumber_Reserved108        107
#define VectorNumber_Reserved107        106
#define VectorNumber_Reserved106        105
#define VectorNumber_Reserved105        104
#define VectorNumber_Reserved104        103
#define VectorNumber_Reserved103        102
#define VectorNumber_Reserved102        101
#define VectorNumber_Reserved101        100
#define VectorNumber_Reserved100        99
#define VectorNumber_Reserved99         98
#define VectorNumber_Reserved98         97
#define VectorNumber_Reserved97         96
#define VectorNumber_Reserved96         95
#define VectorNumber_Reserved95         94
#define VectorNumber_Reserved94         93
#define VectorNumber_Reserved93         92
#define VectorNumber_Reserved92         91
#define VectorNumber_Reserved91         90
#define VectorNumber_Reserved90         89
#define VectorNumber_Reserved89         88
#define VectorNumber_Reserved88         87
#define VectorNumber_Reserved87         86
#define VectorNumber_Reserved86         85
#define VectorNumber_Reserved85         84
#define VectorNumber_Reserved84         83
#define VectorNumber_Reserved83         82
#define VectorNumber_Reserved82         81
#define VectorNumber_Reserved81         80
#define VectorNumber_Vxsramav           79
#define VectorNumber_Vxsei              78
#define VectorNumber_Vxst7              77
#define VectorNumber_Vxst6              76
#define VectorNumber_Vxst5              75
#define VectorNumber_Vxst4              74
#define VectorNumber_Vxst3              73
#define VectorNumber_Vxst2              72
#define VectorNumber_Vxst1              71
#define VectorNumber_Vxst0              70
#define VectorNumber_Vpit3              69
#define VectorNumber_Vpit2              68
#define VectorNumber_Vpit1              67
#define VectorNumber_Vpit0              66
#define VectorNumber_VReserved65        65
#define VectorNumber_Vapi               64
#define VectorNumber_Vlvi               63
#define VectorNumber_Viic1              62
#define VectorNumber_Vsci5              61
#define VectorNumber_Vsci4              60
#define VectorNumber_Vsci3              59
#define VectorNumber_Vsci2              58
#define VectorNumber_Vpwmesdn           57
#define VectorNumber_Vportp             56
#define VectorNumber_Vcan4tx            55
#define VectorNumber_Vcan4rx            54
#define VectorNumber_Vcan4err           53
#define VectorNumber_Vcan4wkup          52
#define VectorNumber_Vcan3tx            51
#define VectorNumber_Vcan3rx            50
#define VectorNumber_Vcan3err           49
#define VectorNumber_Vcan3wkup          48
#define VectorNumber_Vcan2tx            47
#define VectorNumber_Vcan2rx            46
#define VectorNumber_Vcan2err           45
#define VectorNumber_Vcan2wkup          44
#define VectorNumber_Vcan1tx            43
#define VectorNumber_Vcan1rx            42
#define VectorNumber_Vcan1err           41
#define VectorNumber_Vcan1wkup          40
#define VectorNumber_Vcan0tx            39
#define VectorNumber_Vcan0rx            38
#define VectorNumber_Vcan0err           37
#define VectorNumber_Vcan0wkup          36
#define VectorNumber_Vflash             35
#define VectorNumber_Veeprom            34
#define VectorNumber_Vspi2              33
#define VectorNumber_Vspi1              32
#define VectorNumber_Viic0              31
#define VectorNumber_VReserved30        30
#define VectorNumber_Vcrgscm            29
#define VectorNumber_Vcrgplllck         28
#define VectorNumber_Vtimpabovf         27
#define VectorNumber_Vtimmdcu           26
#define VectorNumber_Vporth             25
#define VectorNumber_Vportj             24
#define VectorNumber_Vatd1              23
#define VectorNumber_Vatd0              22
#define VectorNumber_Vsci1              21
#define VectorNumber_Vsci0              20
#define VectorNumber_Vspi0              19
#define VectorNumber_Vtimpaie           18
#define VectorNumber_Vtimpaaovf         17
#define VectorNumber_Vtimovf            16
#define VectorNumber_Vtimch7            15
#define VectorNumber_Vtimch6            14
#define VectorNumber_Vtimch5            13
#define VectorNumber_Vtimch4            12
#define VectorNumber_Vtimch3            11
#define VectorNumber_Vtimch2            10
#define VectorNumber_Vtimch1            9
#define VectorNumber_Vtimch0            8
#define VectorNumber_Vrti               7
#define VectorNumber_Virq               6
#define VectorNumber_Vxirq              5
#define VectorNumber_Vswi               4
#define VectorNumber_Vtrap              3
#define VectorNumber_Vcop               2
#define VectorNumber_Vclkmon            1
#define VectorNumber_Vreset             0
/**************** interrupt vector table ****************/
#define Vsi                             0x0000FF10
#define Reserved119                     0x0000FF12
#define Reserved118                     0x0000FF14
#define Reserved117                     0x0000FF16
#define Reserved116                     0x0000FF18
#define Reserved115                     0x0000FF1A
#define Reserved114                     0x0000FF1C
#define Reserved113                     0x0000FF1E
#define Reserved112                     0x0000FF20
#define Reserved111                     0x0000FF22
#define Reserved110                     0x0000FF24
#define Reserved109                     0x0000FF26
#define Reserved108                     0x0000FF28
#define Reserved107                     0x0000FF2A
#define Reserved106                     0x0000FF2C
#define Reserved105                     0x0000FF2E
#define Reserved104                     0x0000FF30
#define Reserved103                     0x0000FF32
#define Reserved102                     0x0000FF34
#define Reserved101                     0x0000FF36
#define Reserved100                     0x0000FF38
#define Reserved99                      0x0000FF3A
#define Reserved98                      0x0000FF3C
#define Reserved97                      0x0000FF3E
#define Reserved96                      0x0000FF40
#define Reserved95                      0x0000FF42
#define Reserved94                      0x0000FF44
#define Reserved93                      0x0000FF46
#define Reserved92                      0x0000FF48
#define Reserved91                      0x0000FF4A
#define Reserved90                      0x0000FF4C
#define Reserved89                      0x0000FF4E
#define Reserved88                      0x0000FF50
#define Reserved87                      0x0000FF52
#define Reserved86                      0x0000FF54
#define Reserved85                      0x0000FF56
#define Reserved84                      0x0000FF58
#define Reserved83                      0x0000FF5A
#define Reserved82                      0x0000FF5C
#define Reserved81                      0x0000FF5E
#define Vxsramav                        0x0000FF60
#define Vxsei                           0x0000FF62
#define Vxst7                           0x0000FF64
#define Vxst6                           0x0000FF66
#define Vxst5                           0x0000FF68
#define Vxst4                           0x0000FF6A
#define Vxst3                           0x0000FF6C
#define Vxst2                           0x0000FF6E
#define Vxst1                           0x0000FF70
#define Vxst0                           0x0000FF72
#define Vpit3                           0x0000FF74
#define Vpit2                           0x0000FF76
#define Vpit1                           0x0000FF78
#define Vpit0                           0x0000FF7A
#define VReserved65                     0x0000FF7C
#define Vapi                            0x0000FF7E
#define Vlvi                            0x0000FF80
#define Viic1                           0x0000FF82
#define Vsci5                           0x0000FF84
#define Vsci4                           0x0000FF86
#define Vsci3                           0x0000FF88
#define Vsci2                           0x0000FF8A
#define Vpwmesdn                        0x0000FF8C
#define Vportp                          0x0000FF8E
#define Vcan4tx                         0x0000FF90
#define Vcan4rx                         0x0000FF92
#define Vcan4err                        0x0000FF94
#define Vcan4wkup                       0x0000FF96
#define Vcan3tx                         0x0000FF98
#define Vcan3rx                         0x0000FF9A
#define Vcan3err                        0x0000FF9C
#define Vcan3wkup                       0x0000FF9E
#define Vcan2tx                         0x0000FFA0
#define Vcan2rx                         0x0000FFA2
#define Vcan2err                        0x0000FFA4
#define Vcan2wkup                       0x0000FFA6
#define Vcan1tx                         0x0000FFA8
#define Vcan1rx                         0x0000FFAA
#define Vcan1err                        0x0000FFAC
#define Vcan1wkup                       0x0000FFAE
#define Vcan0tx                         0x0000FFB0
#define Vcan0rx                         0x0000FFB2
#define Vcan0err                        0x0000FFB4
#define Vcan0wkup                       0x0000FFB6
#define Vflash                          0x0000FFB8
#define Veeprom                         0x0000FFBA
#define Vspi2                           0x0000FFBC
#define Vspi1                           0x0000FFBE
#define Viic0                           0x0000FFC0
#define VReserved30                     0x0000FFC2
#define Vcrgscm                         0x0000FFC4
#define Vcrgplllck                      0x0000FFC6
#define Vtimpabovf                      0x0000FFC8
#define Vtimmdcu                        0x0000FFCA
#define Vporth                          0x0000FFCC
#define Vportj                          0x0000FFCE
#define Vatd1                           0x0000FFD0
#define Vatd0                           0x0000FFD2
#define Vsci1                           0x0000FFD4
#define Vsci0                           0x0000FFD6
#define Vspi0                           0x0000FFD8
#define Vtimpaie                        0x0000FFDA
#define Vtimpaaovf                      0x0000FFDC
#define Vtimovf                         0x0000FFDE
#define Vtimch7                         0x0000FFE0
#define Vtimch6                         0x0000FFE2
#define Vtimch5                         0x0000FFE4
#define Vtimch4                         0x0000FFE6
#define Vtimch3                         0x0000FFE8
#define Vtimch2                         0x0000FFEA
#define Vtimch1                         0x0000FFEC
#define Vtimch0                         0x0000FFEE
#define Vrti                            0x0000FFF0
#define Virq                            0x0000FFF2
#define Vxirq                           0x0000FFF4
#define Vswi                            0x0000FFF6
#define Vtrap                           0x0000FFF8
#define Vcop                            0x0000FFFA
#define Vclkmon                         0x0000FFFC
#define Vreset                          0x0000FFFE

该用户从未签到

2

主题

9

帖子

0

新手上路

Rank: 1

积分
19
最后登录
1970-1-1
 楼主| 发表于 2009-11-4 16:32:34 | 显示全部楼层

RE:12X的中断向量问题

上下矛盾啊!
可以么?
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

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

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

GMT+8, 2025-7-20 20:34 , Processed in 0.113013 second(s), 30 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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