智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3640|回复: 10
打印 上一主题 下一主题

xs128中断程序

[复制链接]

16

主题

590

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2987
威望
1599
贡献
34
兑换币
939
注册时间
2012-11-17
在线时间
677 小时
跳转到指定楼层
1#
发表于 2013-3-8 14:55:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人菜鸟一枚
有哪位大神  给说说 xs128的中断程序该怎么写啊  查了许多资料  说的也不清楚   还不一样  
#pragma CODE_SEG NON_BANKED  
void  interrupt 20 SCI0_re(void)
{
unsigned char ch;
ch=SciRead();
SciWritestring(&ch);
}
  比如说这样写可以不???
还有我一直有个疑问:中断程序写的格式是不是只取决于cw的版本啊?? ?

4

主题

62

帖子

0

精华

高级会员

Rank: 4

积分
879
威望
528
贡献
181
兑换币
87
注册时间
2009-1-20
在线时间
85 小时
2#
发表于 2013-3-8 15:19:21 | 只看该作者

#pragma CODE_SEG __NEAR_SEG NON_BANKED   中断程序要放在非分页区            
                                               这句话意思是后面的程序放在非分页区
void interrupt 16 INT_Timer0(void)                             中断格式   对应中断号16

{
    PORTB++;                                                            自己的代码
   
   TFLG2_TOF=1;                                                     //清中断标志位
}
#pragma CODE_SEG DEFAULT                            这句话意思是后面的程序放在正常存放区


中断定义在MC9S12XS128.h里找   (见下)

#define VectorNumber_Vsi                119
#define VectorNumber_Vsyscall           118
#define VectorNumber_VReserved118       117
#define VectorNumber_VReserved117       116
#define VectorNumber_VReserved116       115
#define VectorNumber_VReserved115       114
#define VectorNumber_VReserved114       113
#define VectorNumber_VReserved113       112
#define VectorNumber_VReserved112       111
#define VectorNumber_VReserved111       110
#define VectorNumber_VReserved110       109
#define VectorNumber_VReserved109       108
#define VectorNumber_VReserved108       107
#define VectorNumber_VReserved107       106
#define VectorNumber_VReserved106       105
#define VectorNumber_VReserved105       104
#define VectorNumber_VReserved104       103
#define VectorNumber_VReserved103       102
#define VectorNumber_VReserved102       101
#define VectorNumber_VReserved101       100
#define VectorNumber_VReserved100       99
#define VectorNumber_VReserved99        98
#define VectorNumber_VReserved98        97
#define VectorNumber_Vatd0compare       96
#define VectorNumber_VReserved96        95
#define VectorNumber_VReserved95        94
#define VectorNumber_VReserved94        93
#define VectorNumber_VReserved93        92
#define VectorNumber_VReserved92        91
#define VectorNumber_VReserved91        90
#define VectorNumber_VReserved90        89
#define VectorNumber_VReserved89        88
#define VectorNumber_VReserved88        87
#define VectorNumber_VReserved87        86
#define VectorNumber_VReserved86        85
#define VectorNumber_VReserved85        84
#define VectorNumber_VReserved84        83
#define VectorNumber_VReserved83        82
#define VectorNumber_VReserved82        81
#define VectorNumber_VReserved81        80
#define VectorNumber_VReserved79        79
#define VectorNumber_VReserved78        78
#define VectorNumber_VReserved77        77
#define VectorNumber_VReserved76        76
#define VectorNumber_VReserved75        75
#define VectorNumber_VReserved74        74
#define VectorNumber_VReserved73        73
#define VectorNumber_VReserved72        72
#define VectorNumber_VReserved71        71
#define VectorNumber_VReserved70        70
#define VectorNumber_Vpit3              69
#define VectorNumber_Vpit2              68
#define VectorNumber_Vpit1              67
#define VectorNumber_Vpit0              66
#define VectorNumber_Vhti               65
#define VectorNumber_Vapi               64
#define VectorNumber_Vlvi               63
#define VectorNumber_VReserved62        62
#define VectorNumber_VReserved61        61
#define VectorNumber_VReserved60        60
#define VectorNumber_VReserved59        59
#define VectorNumber_VReserved58        58
#define VectorNumber_Vpwmesdn           57
#define VectorNumber_Vportp             56
#define VectorNumber_VReserved55        55
#define VectorNumber_VReserved54        54
#define VectorNumber_VReserved53        53
#define VectorNumber_VReserved52        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_Vflashfd           34
#define VectorNumber_VReserved33        33
#define VectorNumber_VReserved32        32
#define VectorNumber_VReserved31        31
#define VectorNumber_VReserved30        30
#define VectorNumber_Vcrgscm            29
#define VectorNumber_Vcrgplllck         28
#define VectorNumber_VReserved27        27
#define VectorNumber_VReserved26        26
#define VectorNumber_Vporth             25
#define VectorNumber_Vportj             24
#define VectorNumber_VReserved23        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

分区在Project.prm里找              (见下)
PLACEMENT /* here all predefined and user segments are placed into the SEGMENTS defined above. */
      _PRESTART,              /* Used in HIWARE format: jump to _Startup at the code start */
      STARTUP,                /* startup data structures */
      ROM_VAR,                /* constant variables */
      STRINGS,                /* string literals */
      VIRTUAL_TABLE_SEGMENT,  /* C++ virtual table segment */
    //.ostext,                /* eventually OSEK code  */
      NON_BANKED,             /* runtime routines which must not be banked */
      COPY                    /* copy down information: how to initialize variables */
                              /* in case you want to use ROM_4000 here as well, make sure
                                 that all files (incl. library files) are compiled with the
                                 option: -OnB=b */
                        INTO  ROM_C000/*, ROM_4000*/;

      DEFAULT_ROM       INTO           PAGE_FE,          PAGE_FC, PAGE_FB, PAGE_FA, PAGE_F9, PAGE_F8;

    //.stackstart,            /* eventually used for OSEK kernel awareness: Main-Stack Start */
      SSTACK,                 /* allocate stack first to avoid overwriting variables on overflow */
    //.stackend,              /* eventually used for OSEK kernel awareness: Main-Stack End */
      PAGED_RAM,              /* there is no need for paged data accesses on this derivative */

      DEFAULT_RAM             /* all variables, the default RAM location */
                        INTO  RAM;

      DISTRIBUTE        DISTRIBUTE_INTO
                              ROM_4000, PAGE_FE, PAGE_FC, PAGE_FB, PAGE_FA, PAGE_F9, PAGE_F8;
      CONST_DISTRIBUTE  DISTRIBUTE_INTO
                              ROM_4000, PAGE_FE, PAGE_FC, PAGE_FB, PAGE_FA, PAGE_F9, PAGE_F8;
      DATA_DISTRIBUTE   DISTRIBUTE_INTO
                              RAM;
    //.vectors          INTO  OSVECTORS; /* OSEK vector table */
END
回复 支持 反对

使用道具 举报

16

主题

590

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2987
威望
1599
贡献
34
兑换币
939
注册时间
2012-11-17
在线时间
677 小时
3#
 楼主| 发表于 2013-3-8 20:02:16 | 只看该作者
多谢仁兄     偶懂了            
回复 支持 反对

使用道具 举报

11

主题

252

帖子

0

精华

高级会员

Rank: 4

积分
852
威望
448
贡献
234
兑换币
220
注册时间
2013-2-18
在线时间
85 小时
4#
发表于 2013-3-22 06:27:04 | 只看该作者
stl 发表于 2013-3-8 15:19
#pragma CODE_SEG __NEAR_SEG NON_BANKED   中断程序要放在非分页区            
                      ...

挺好的,挺了~~牛人呐~~~~
回复 支持 反对

使用道具 举报

3

主题

20

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
285
QQ
威望
216
贡献
59
兑换币
24
注册时间
2011-5-22
在线时间
5 小时
5#
发表于 2013-3-22 16:25:37 | 只看该作者
stl 发表于 2013-3-8 15:19
#pragma CODE_SEG __NEAR_SEG NON_BANKED   中断程序要放在非分页区            
                      ...

热心的人,值得表扬!
回复 支持 反对

使用道具 举报

4

主题

62

帖子

0

精华

高级会员

Rank: 4

积分
879
威望
528
贡献
181
兑换币
87
注册时间
2009-1-20
在线时间
85 小时
6#
发表于 2013-3-23 21:16:53 | 只看该作者
709632728 发表于 2013-3-22 16:25
热心的人,值得表扬!

不做车  好多年了
回复 支持 反对

使用道具 举报

1

主题

39

帖子

0

精华

高级会员

Rank: 4

积分
539
威望
287
贡献
166
兑换币
184
注册时间
2012-12-11
在线时间
43 小时
7#
发表于 2013-8-8 16:09:26 | 只看该作者
真太谢谢大神啦hug:hug:hug:hug:hug:hug:hug:hug:hug:hug:hug:hug:hug:hug:hug:hug:hug:hug:hug:hug:
回复 支持 反对

使用道具 举报

0

主题

61

帖子

0

精华

高级会员

Rank: 4

积分
623
威望
302
贡献
165
兑换币
209
注册时间
2013-11-10
在线时间
78 小时
8#
发表于 2014-2-1 16:18:17 | 只看该作者
回复 支持 反对

使用道具 举报

0

主题

112

帖子

0

精华

高级会员

Rank: 4

积分
699
威望
364
贡献
137
兑换币
156
注册时间
2013-11-27
在线时间
99 小时
毕业学校
洛阳理工
9#
发表于 2014-3-12 21:43:48 | 只看该作者
回复 支持 反对

使用道具 举报

18

主题

331

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3218
威望
1661
贡献
965
兑换币
1072
注册时间
2014-3-2
在线时间
296 小时
10#
发表于 2014-3-12 23:06:21 | 只看该作者
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-29 02:06 , Processed in 0.052823 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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