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.

C6747 ISTP寄存器值的问题??



为什么无论何时查看ISTP寄存器,其HPEINT位域总是0呢??当进入中断后在清除事件以及中断挂起之前去查看ISTP,其HPEINT位域不应该是当前处理的中断号吗??下面是手册中关于ISTP的描述:

The interrupt service table pointer register (ISTP) is used to locate the interrupt service routine (ISR). The ISTB field identifies the base portion of the address of the interrupt service table (IST) and the HPEINT field identifies the specific interrupt and locates the specific fetch packet within the IST.

                                              Table 2-15. Interrupt Service Table Pointer Register (ISTP) Field Descriptions

Bit           Field        Value                                                         Description
31-10  ISTB    0-3FFFFFh     Interrupt service table base portion of the IST address. This field is cleared to a device-specific
                                                  default value on reset; therefore, upon startup the IST must reside at this specific address. See
                                                  the device-specific data manual for more information. After reset, you can relocate the IST by
                                                  writing a new value to ISTB. If relocated, the first ISFP (corresponding to RESET) is never
                                                  executed via interrupt processing, because reset clears the ISTB to its default value. See
                                                  Example 5-1.
9-5      HPEINT   0-1Fh         Highest priority enabled interrupt that is currently pending. This field indicates the number
                                                 (related bit position in the IFR) of the highest priority interrupt (as defined in Table 5-1) that is
                                                 enabled by its bit in the IER. Thus, the ISTP can be used for manual branches to the highest
                                                 priority enabled interrupt. If no interrupt is pending and enabled, HPEINT contains the value 0.
                                                 The corresponding interrupt need not be enabled by NMIE (unless it is NMI) or by GIE.

4-0           0              0             Cleared to 0 (fetch packets must be aligned on 8-word (32-byte) boundaries).