在线情况
楼主
  • 头像
  • 级别
    • 积分4
    • 经验864
    • 文章33
    • 注册2006-09-03
    关于c430中断程序的格式[移植旧程序时需要注意了]
    以前也遇到过这个问题,那时候正忙着毕业,解决了也就忘记了。现在又遇到这个问题,想说两句。
    在魏小龙编的那本400多页的书上给出的中断程序格式是
    interrupt[PORT1_VECTOR] void port1key(void)
    {
    ……
    ……
    }在书中234页


    430 C指南.pdf 中的说法是
    Interrupt [0 18] void UART-handler (void)
    {
    if (TCCTL&4)
    receive ( );
    else
    transmit ( );
    }
    矢量地址在本例中为0 18 是对于INTVEC 段0 FFE0 的偏移此例将
    把矢量置于0 FFF8 单元

    但在我用的   EW430_310 正式破解版  的帮助文件 EW430_CompilerReference.pdf中给出的格式是

    #pragma vector=0x14
    __interrupt void my_interrupt_routine()
    {
    /* Do something */
    }
    在第36页。
    只有按照帮助文件中的格式才可以编译,那书上的说法从何而来呢?就一个格式的问题整得我两天吃不香睡不好[EM12]
    [ 此贴最后由DC在2008-10-9 23:53:56编辑过 ]
    新手上路
    在线情况
    -10
    • 头像
    • 级别
      • 积分31
      • 经验5985
      • 文章202
      • 注册2006-05-28
        书上的说法应该是以前的版本,就照着现在的做法做就行了。
      微控网感谢您的参与
      在线情况
      -9
      • 头像
      • 级别
        • 积分13
        • 经验443
        • 文章33
        • 注册2006-08-28
        #pragma vector=0x14
        __interrupt void my_interrupt_routine()
        {
        /* Do something */
        }
        这种方式是现在编译器支持的,魏书上的是以前版本的格式
        微控网感谢您的参与
        在线情况
        -8
        • 头像
        • 级别
          • 积分20
          • 经验165
          • 文章26
          • 注册2007-08-29
          没有那本书啊
          魔术(模数)
          在线情况
          -7
          • 头像
          • 级别
            • 积分5
            • 经验1107
            • 文章13
            • 注册2007-07-19
            我一开始也存在这个问题,不过看了一下帮助文件和头文件,就明白怎么用了。
            二种格式应该是版本问题。。
            微控网感谢您的参与
            在线情况
            -6
            • 头像
            • 级别
              • 积分2
              • 经验293
              • 文章7
              • 注册2007-07-26
              微控网感谢您的参与
              在线情况
              -5
              • 头像
              • 级别
                • 积分2
                • 经验301
                • 文章7
                • 注册2007-12-11
                #pragma vector=TIMERA0_VECTOR
                __interrupt void Timer_A0(void)  

                {

                }
                现在一般是这种格式吧
                微控网感谢您的参与
                在线情况
                -4
                • 头像
                • 级别
                  • 积分4
                  • 经验3266
                  • 文章55
                  • 注册2008-01-22
                  对,现在的编译器对中断响应函数的定义格式都是
                  #pragma vector=TIMERA0_VECTOR
                  __interrupt void Timer_A0(void)  

                  {

                  }
                  微控网感谢您的参与
                  在线情况
                  -3
                  • 头像
                  • 级别
                    • 积分4
                    • 经验582
                    • 文章23
                    • 注册2008-03-15
                    //定时器中断
                    #pragma vector=TIMERA0_VECTOR
                    __interrupt void Timer_A0(void)  

                    {

                    }
                    / 处理来自串口 1 的接收中断
                    #pragma vector=UART0RX_VECTOR
                    __interrupt  void UART0_RX_ISR(void)
                    {
                    }
                    //处理来自串口 1 的发送中断
                    #pragma vector=UART0TX_VECTOR
                    __interrupt  void UART0_TX_ISR(void){
                    }
                    微控网感谢您的参与
                    在线情况
                    -2
                    • 头像
                    • 级别
                      • 积分4
                      • 经验368
                      • 文章18
                      • 注册2008-05-09
                      就是版本问题,1.26、3.10、3.41都不一样,改头文件的话可以统一起来。。。
                      微控网感谢您的参与
                      在线情况
                      -1
                      • 头像
                      • 级别
                        • 积分1
                        • 经验535
                        • 文章17
                        • 注册2008-05-16
                        版本低于200用前一种,高于200用后一种,这就是为什么后一种出现的越来越多的原因。
                        微控网感谢您的参与
                        在线情况
                        0
                        • 头像
                        • 级别
                          • 积分15
                          • 经验2712
                          • 文章199
                          • 注册2006-07-28
                          版本不同,应用不同!
                          好用就可以了啊
                          微控网感谢您的参与
                          Powered by LeadBBS 9.2 .
                          Page created in 0.1875 seconds with 7 queries.