智能车制作

标题: 求问一下,蓝宙XS128例程中的Vector.c有什么作用? [打印本页]

作者: 1chuxian1    时间: 2015-2-20 11:45
标题: 求问一下,蓝宙XS128例程中的Vector.c有什么作用?
研究了很久,但是 不知道有什么作用,求大神解答,
  1. #include "includes.h"


  2. /*
  3. ** ===================================================================
  4. ** isr_default
  5. ** ===================================================================
  6. */
  7. #pragma CODE_SEG __NEAR_SEG NON_BANKED

  8. __interrupt void isr_default(void) {
  9. }

  10. #pragma CODE_SEG DEFAULT


  11. /*
  12. ** ===================================================================
  13. ** Interrupt vector table
  14. ** ===================================================================
  15. */
  16. static const tIsrFunc _InterruptVectorTable[] @0xFF10U = {
  17.     /* ISR name                            No.  Address  Pri Name           */
  18.     &isr_default,                      /* 0x08  0xFF10   -   ivVsi          */
  19.     &isr_default,                      /* 0x09  0xFF12   -   ivVsyscall     */
  20.     &isr_default,                      /* 0x0A  0xFF14   1   ivVReserved118 */
  21.     &isr_default,                      /* 0x0B  0xFF16   1   ivVReserved117 */
  22.     &isr_default,                      /* 0x0C  0xFF18   1   ivVReserved116 */
  23.     &isr_default,                      /* 0x0D  0xFF1A   1   ivVReserved115 */
  24.     &isr_default,                      /* 0x0E  0xFF1C   1   ivVReserved114 */
  25.     &isr_default,                      /* 0x0F  0xFF1E   1   ivVReserved113 */
  26.     &isr_default,                      /* 0x10  0xFF20   1   ivVReserved112 */
  27.     &isr_default,                      /* 0x11  0xFF22   1   ivVReserved111 */
  28.     &isr_default,                      /* 0x12  0xFF24   1   ivVReserved110 */
  29.     &isr_default,                      /* 0x13  0xFF26   1   ivVReserved109 */
  30.     &isr_default,                      /* 0x14  0xFF28   1   ivVReserved108 */
  31.     &isr_default,                      /* 0x15  0xFF2A   1   ivVReserved107 */
  32.     &isr_default,                      /* 0x16  0xFF2C   1   ivVReserved106 */
  33.     &isr_default,                      /* 0x17  0xFF2E   1   ivVReserved105 */
  34.     &isr_default,                      /* 0x18  0xFF30   1   ivVReserved104 */
  35.     &isr_default,                      /* 0x19  0xFF32   1   ivVReserved103 */
  36.     &isr_default,                      /* 0x1A  0xFF34   1   ivVReserved102 */
  37.     &isr_default,                      /* 0x1B  0xFF36   1   ivVReserved101 */
  38.     &isr_default,                      /* 0x1C  0xFF38   1   ivVReserved100 */
  39.     &isr_default,                      /* 0x1D  0xFF3A   1   ivVReserved99  */
  40.     &isr_default,                      /* 0x1E  0xFF3C   1   ivVReserved98  */
  41.     &isr_default,                      /* 0x1F  0xFF3E   1   ivVatd0compare */
  42.     &isr_default,                      /* 0x20  0xFF40   1   ivVReserved96  */
  43.     &isr_default,                      /* 0x21  0xFF42   1   ivVReserved95  */
  44.     &isr_default,                      /* 0x22  0xFF44   1   ivVReserved94  */
  45.     &isr_default,                      /* 0x23  0xFF46   1   ivVReserved93  */
  46.     &isr_default,                      /* 0x24  0xFF48   1   ivVReserved92  */
  47.     &isr_default,                      /* 0x25  0xFF4A   1   ivVReserved91  */
  48.     &isr_default,                      /* 0x26  0xFF4C   1   ivVReserved90  */
  49.     &isr_default,                      /* 0x27  0xFF4E   1   ivVReserved89  */
  50.     &isr_default,                      /* 0x28  0xFF50   1   ivVReserved88  */
  51.     &isr_default,                      /* 0x29  0xFF52   1   ivVReserved87  */
  52.     &isr_default,                      /* 0x2A  0xFF54   1   ivVReserved86  */
  53.     &isr_default,                      /* 0x2B  0xFF56   1   ivVReserved85  */
  54.     &isr_default,                      /* 0x2C  0xFF58   1   ivVReserved84  */
  55.     &isr_default,                      /* 0x2D  0xFF5A   1   ivVReserved83  */
  56.     &isr_default,                      /* 0x2E  0xFF5C   1   ivVReserved82  */
  57.     &isr_default,                      /* 0x2F  0xFF5E   1   ivVReserved81  */
  58.     &isr_default,                      /* 0x30  0xFF60   1   ivVReserved79  */
  59.     &isr_default,                      /* 0x31  0xFF62   1   ivVReserved78  */
  60.     &isr_default,                      /* 0x32  0xFF64   1   ivVReserved77  */
  61.     &isr_default,                      /* 0x33  0xFF66   1   ivVReserved76  */
  62.     &isr_default,                      /* 0x34  0xFF68   1   ivVReserved75  */
  63.     &isr_default,                      /* 0x35  0xFF6A   1   ivVReserved74  */
  64.     &isr_default,                      /* 0x36  0xFF6C   1   ivVReserved73  */
  65.     &isr_default,                      /* 0x37  0xFF6E   1   ivVReserved72  */
  66.     &isr_default,                      /* 0x38  0xFF70   1   ivVReserved71  */
  67.     &isr_default,                      /* 0x39  0xFF72   1   ivVReserved70  */
  68.     &isr_default,                      /* 0x3A  0xFF74   1   ivVpit3        */
  69.     &isr_default,                      /* 0x3B  0xFF76   1   ivVpit2        */
  70.     &isr_default,                      /* 0x3C  0xFF78   1   ivVpit1        */
  71.    &PITCh0IntISR,                     /* 0x3D  0xFF7A   1   ivVpit0        */
  72.     &isr_default,                      /* 0x3E  0xFF7C   1   ivVhti         */
  73.     &isr_default,                      /* 0x3F  0xFF7E   1   ivVapi         */
  74.     &isr_default,                      /* 0x40  0xFF80   1   ivVlvi         */
  75.     &isr_default,                      /* 0x41  0xFF82   1   ivVReserved62  */
  76.     &isr_default,                      /* 0x42  0xFF84   1   ivVReserved61  */
  77.     &isr_default,                      /* 0x43  0xFF86   1   ivVReserved60  */
  78.     &isr_default,                      /* 0x44  0xFF88   1   ivVReserved59  */
  79.     &isr_default,                      /* 0x45  0xFF8A   1   ivVReserved58  */
  80.     &isr_default,                      /* 0x46  0xFF8C   1   ivVpwmesdn     */
  81.     &isr_default,                      /* 0x47  0xFF8E   1   ivVportp       */
  82.     &isr_default,                      /* 0x48  0xFF90   1   ivVReserved55  */
  83.     &isr_default,                      /* 0x49  0xFF92   1   ivVReserved54  */
  84.     &isr_default,                      /* 0x4A  0xFF94   1   ivVReserved53  */
  85.     &isr_default,                      /* 0x4B  0xFF96   1   ivVReserved52  */
  86.     &isr_default,                      /* 0x4C  0xFF98   1   ivVReserved51  */
  87.     &isr_default,                      /* 0x4D  0xFF9A   1   ivVReserved50  */
  88.     &isr_default,                      /* 0x4E  0xFF9C   1   ivVReserved49  */
  89.     &isr_default,                      /* 0x4F  0xFF9E   1   ivVReserved48  */
  90.     &isr_default,                      /* 0x50  0xFFA0   1   ivVReserved47  */
  91.     &isr_default,                      /* 0x51  0xFFA2   1   ivVReserved46  */
  92.     &isr_default,                      /* 0x52  0xFFA4   1   ivVReserved45  */
  93.     &isr_default,                      /* 0x53  0xFFA6   1   ivVReserved44  */
  94.     &isr_default,                      /* 0x54  0xFFA8   1   ivVReserved43  */
  95.     &isr_default,                      /* 0x55  0xFFAA   1   ivVReserved42  */
  96.     &isr_default,                      /* 0x56  0xFFAC   1   ivVReserved41  */
  97.     &isr_default,                      /* 0x57  0xFFAE   1   ivVReserved40  */
  98.     &isr_default,                      /* 0x58  0xFFB0   1   ivVcan0tx      */
  99.     &isr_default,                      /* 0x59  0xFFB2   1   ivVcan0rx      */
  100.     &isr_default,                      /* 0x5A  0xFFB4   1   ivVcan0err     */
  101.     &isr_default,                      /* 0x5B  0xFFB6   1   ivVcan0wkup    */
  102.     &isr_default,                      /* 0x5C  0xFFB8   1   ivVflash       */
  103.     &isr_default,                      /* 0x5D  0xFFBA   1   ivVflashfd     */
  104.     &isr_default,                      /* 0x5E  0xFFBC   1   ivVReserved33  */
  105.     &isr_default,                      /* 0x5F  0xFFBE   1   ivVReserved32  */
  106.     &isr_default,                      /* 0x60  0xFFC0   1   ivVReserved31  */
  107.     &isr_default,                      /* 0x61  0xFFC2   1   ivVReserved30  */
  108.     &isr_default,                      /* 0x62  0xFFC4   1   ivVcrgscm      */
  109.     &isr_default,                      /* 0x63  0xFFC6   1   ivVcrgplllck   */
  110.     &isr_default,                      /* 0x64  0xFFC8   1   ivVReserved27  */
  111.     &isr_default,                      /* 0x65  0xFFCA   1   ivVReserved26  */
  112.     &PTHintIntISR,                      /* 0x66  0xFFCC   1   ivVporth       */
  113.     &isr_default,                      /* 0x67  0xFFCE   1   ivVportj       */
  114.     &isr_default,                      /* 0x68  0xFFD0   1   ivVReserved23  */
  115.     &isr_default,                      /* 0x69  0xFFD2   1   ivVatd0        */
  116.     &isr_default,                      /* 0x6A  0xFFD4   1   ivVsci1        */
  117.     &isr_default,                      /* 0x6B  0xFFD6   1   ivVsci0        */
  118.     &isr_default,                      /* 0x6C  0xFFD8   1   ivVspi0        */
  119.     &isr_default,                      /* 0x6D  0xFFDA   1   ivVtimpaie     */
  120.     &isr_default,                      /* 0x6E  0xFFDC   1   ivVtimpaaovf   */
  121.     &isr_default,                     /* 0x6F  0xFFDE   1   ivVtimovf      */
  122.     &isr_default,                      /* 0x70  0xFFE0   1   ivVtimch7      */
  123.     &isr_default,                      /* 0x71  0xFFE2   1   ivVtimch6      */
  124.     &isr_default,                      /* 0x72  0xFFE4   1   ivVtimch5      */
  125.     &isr_default,                      /* 0x73  0xFFE6   1   ivVtimch4      */
  126.     &isr_default,                      /* 0x74  0xFFE8   1   ivVtimch3      */
  127.     &isr_default,                      /* 0x75  0xFFEA   1   ivVtimch2      */
  128.     &isr_default,                      /* 0x76  0xFFEC   1   ivVtimch1      */
  129.   // // &TIMCh0IntISR,                     /* 0x77  0xFFEE   1   ivVtimch0      */
  130.     &isr_default,                      /* 0x78  0xFFF0   1   ivVrti         */
  131.     &isr_default,                      /* 0x79  0xFFF2   1   ivVirq         */
  132.     &isr_default,                      /* 0x7A  0xFFF4   -   ivVxirq        */
  133.     &isr_default,                      /* 0x7B  0xFFF6   -   ivVswi         */
  134.     &isr_default                       /* 0x7C  0xFFF8   -   ivVtrap        */
  135. };


  136. /*
  137. ** ===================================================================
  138. ** Reset vector table
  139. ** ===================================================================
  140. */
  141. static const tIsrFunc _ResetVectorTable[] @0xFFFAU = {
  142.     /* Reset handler name                 Address Name                      */
  143.     &_EntryPoint,                      /* 0xFFFA  ivVcop                    */
  144.     &_EntryPoint,                      /* 0xFFFC  ivVclkmon                 */
  145.     &_EntryPoint                       /* 0xFFFE  ivVreset                  */
  146. };
复制代码


作者: 麦籽小立    时间: 2015-2-20 11:45
1chuxian1 发表于 2015-2-20 17:11
谢谢你了,这个的确不是中断向量表,但是应该和中断有关,我把他屏蔽了,提示出错。而且他的中断程序和一 ...

这个是XS128的中断服务子程序的例子,建议你看看128的中断写法,会用就行了

作者: 1chuxian1    时间: 2015-2-20 11:46
祝大家新年快乐:lol
作者: 六步上篮    时间: 2015-2-20 12:13
中断向量表吧   猜测
作者: 麦籽小立    时间: 2015-2-20 14:10
中断:D:D:D
作者: 1chuxian1    时间: 2015-2-20 14:28
麦籽小立 发表于 2015-2-20 14:10
中断

有点看不懂,为什么大部分是是 &isr_default, 但有些是&TIMCh0IntISR, &PTHintIntISR,,,不知道有啥作用?

作者: Aachen.    时间: 2015-2-20 16:02
我也不太清楚他到底是什么,但应该不是中断向量表。
中断向量表的格式应该是#define VectorNumber_Vsi 119U 诸如此类的


作者: 1chuxian1    时间: 2015-2-20 17:11
本帖最后由 1chuxian1 于 2015-2-20 17:13 编辑
Aachen. 发表于 2015-2-20 16:02
我也不太清楚他到底是什么,但应该不是中断向量表。
中断向量表的格式应该是#define VectorNumber_Vsi 119 ...

谢谢你了,这个的确不是中断向量表,但是应该和中断有关,我把他屏蔽了,提示出错。而且他的中断程序和一般的不同,普通的是  例如   interrupt 8 void HREF_Count(void)   有中断向量号,但是他的程序没有中断向量号
  1. #pragma CODE_SEG __NEAR_SEG NON_BANKED

  2. __interrupt void PTHintIntISR(void) {    //没有中断向量号


  3.   if((PIFH & 0x40)){
  4.       PIFH = 0X40 ;  
  5. //选取了部分
  6.      
  7.      
复制代码
不知道,其中有没有关联

作者: 1chuxian1    时间: 2015-2-24 10:47
麦籽小立 发表于 2015-2-21 22:13
这个是XS128的中断服务子程序的例子,建议你看看128的中断写法,会用就行了

谢谢啊

作者: 麦籽小立    时间: 2015-2-25 23:23
1chuxian1 发表于 2015-2-24 10:47
谢谢啊

客气

作者: 独步独步    时间: 2015-4-27 21:29
1chuxian1 发表于 2015-2-20 17:11
谢谢你了,这个的确不是中断向量表,但是应该和中断有关,我把他屏蔽了,提示出错。而且他的中断程序和一 ...

好像是他把自带的中断向量表给改了一下

作者: 1chuxian1    时间: 2015-4-27 21:38
独步独步 发表于 2015-4-27 21:29
好像是他把自带的中断向量表给改了一下

自带的向量表在那个地方,是不是那个128.h里面,我把那个[size=11.818181991577148px]Vector.c移植到  新建的工程里面,可以用

作者: 独步独步    时间: 2015-4-27 21:47
1chuxian1 发表于 2015-4-27 21:38
自带的向量表在那个地方,是不是那个128.h里面,我把那个Vector.c移植到  新建的工程里面,可以用[/backc ...

自带的在128.h里,前面往下啦一点就是,有两组,第一组是定义向量号的,第二组把向量号指向地址。蓝宙的我也没看懂,蓝宙的算坑啊,算了不说这个了,我都是复制过来一些自己写的,看不懂他的定义





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2