This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于reset interrupt service问题求解



请教下,reset interrupt service routine是怎么编写的?它与其他interrupt service routine的区别有哪些。对此完全没有概念,也没见过。有没有什么例程可以参考下?

  • 这翻译为中文就是:复位中断服务程序和中断服务程序你想问什么问题呢?

  • 我的问题是像中断服务程序都会有如下格式

    #pragma vector=中断向量

    __interrupt  函数名

    {

    ......

    }

    表明这是服务于某中断的。那么复位中断服务程序该怎么写?

  • 系统复位由可能有如下几种原因造成:

    power-up, brownout, ext-rst, Watchdog Timeout, PWD Violation, memory MPU violation, SW-POR, SW-BOR,

    总的可以分为两类,一类由硬件造成例如WatchDog Timeout,一类由软件造成比如SW-POR,SW-BOR.

    在MSP430这个体系中,无论是由硬件造成的复位还是软件造成的复位,它们的复位地址都指向同一个地址即0XFFFE,

    (有些MCU采用了硬件和软件分别用不同向量的方式),

    我理解的是楼主其实要问的是软件复位程序咋个写?

    复位处理和其他中断处理不一样,首先它没有一般中断的压栈过程,也没有返回。所以复位中断不能用普通的中断服务程序来处理

    #pragma vector=中断向量

    __interrupt  函数名

    而且硬件复位还要进行分配堆栈,初始化变量等操作,所以一般都采用汇编来做这一段程序.

  • 系统复位由可能有如下几种原因造成:

    power-up, brownout, ext-rst, Watchdog Timeout, PWD Violation, memory MPU violation, SW-POR, SW-BOR,

    总的可以分为两类,一类由硬件造成例如WatchDog Timeout,一类由软件造成比如SW-POR,SW-BOR.

    在MSP430这个体系中,无论是由硬件造成的复位还是软件造成的复位,它们的复位地址都指向同一个地址即0XFFFE,

    (有些MCU采用了硬件和软件分别用不同向量的方式),

    我理解的是楼主其实要问的是软件复位程序咋个写?

    复位处理和其他中断处理不一样,首先它没有一般中断的压栈过程,也没有返回。所以复位中断不能用普通的中断服务程序来处理

    #pragma vector=中断向量

    __interrupt  函数名

    而且硬件复位还要进行分配堆栈,初始化变量等操作,所以一般都采用汇编来做这一段程序.