با سلام.
ببخشید در مورد کد زیر این چیزی که میگم درست هست یا نه ؟؟؟
اگر درست نیست بی زحمت اصلاحش کنید.
در خط اول یعنی :
یک نوع جدیدی تعریف کریم که اشاره گر به یک تابع وقفه هست که ورودی ندارد و خروجی هم ندارد.
پس وقتی در استراکچر PIE_VECT_TABLE مینویسیم :PINT TIMER1_INT; یعنی در واقع عبارت زیر را داریم:
***** در انتها کد برنامه قرار گرفته است.
*****لطفا مثالی بزنید که این نوع کاربرد از تعریف تابع رو داخلش داشته باشه.
خیلی ممنون.
ببخشید در مورد کد زیر این چیزی که میگم درست هست یا نه ؟؟؟
اگر درست نیست بی زحمت اصلاحش کنید.
در خط اول یعنی :
typedef __interrupt void (*PINT)(void);
یک نوع جدیدی تعریف کریم که اشاره گر به یک تابع وقفه هست که ورودی ندارد و خروجی هم ندارد.
پس وقتی در استراکچر PIE_VECT_TABLE مینویسیم :PINT TIMER1_INT; یعنی در واقع عبارت زیر را داریم:
_interrupt void (*TIMER1_INT) (void);
***** در انتها کد برنامه قرار گرفته است.
*****لطفا مثالی بزنید که این نوع کاربرد از تعریف تابع رو داخلش داشته باشه.
خیلی ممنون.
typedef __interrupt void (*PINT)(void);
// Define Vector Table:
struct PIE_VECT_TABLE {
PINT PIE1_RESERVED_INT; // Reserved
PINT PIE2_RESERVED_INT; // Reserved
PINT PIE3_RESERVED_INT; // Reserved
PINT PIE4_RESERVED_INT; // Reserved
PINT PIE5_RESERVED_INT; // Reserved
PINT PIE6_RESERVED_INT; // Reserved
PINT PIE7_RESERVED_INT; // Reserved
PINT PIE8_RESERVED_INT; // Reserved
PINT PIE9_RESERVED_INT; // Reserved
PINT PIE10_RESERVED_INT; // Reserved
PINT PIE11_RESERVED_INT; // Reserved
PINT PIE12_RESERVED_INT; // Reserved
PINT PIE13_RESERVED_INT; // Reserved
PINT TIMER1_INT; // CPU Timer 1 Interrupt
PINT TIMER2_INT; // CPU Timer 2 Interrupt
PINT DATALOG_INT; // Datalogging Interrupt
PINT RTOS_INT; // RTOS Interrupt
PINT EMU_INT; // Emulation Interrupt
PINT NMI_INT; // Non-Maskable Interrupt
PINT ILLEGAL_INT; // Illegal Operation Trap
PINT USER1_INT; // User Defined Trap 1
PINT USER2_INT; // User Defined Trap 2
PINT USER3_INT; // User Defined Trap 3
PINT USER4_INT; // User Defined Trap 4
PINT USER5_INT; // User Defined Trap 5
PINT USER6_INT; // User Defined Trap 6
PINT USER7_INT; // User Defined Trap 7
PINT USER8_INT; // User Defined Trap 8
PINT USER9_INT; // User Defined Trap 9
PINT USER10_INT; // User Defined Trap 10
PINT USER11_INT; // User Defined Trap 11
PINT USER12_INT; // User Defined Trap 12
PINT ADCA1_INT; // 1.1 - ADCA Interrupt 1
PINT ADCB1_INT; // 1.2 - ADCB Interrupt 1
PINT ADCC1_INT; // 1.3 - ADCC Interrupt 1
PINT XINT1_INT; // 1.4 - XINT1 Interrupt
PINT XINT2_INT; // 1.5 - XINT2 Interrupt
PINT ADCD1_INT; // 1.6 - ADCD Interrupt 1
PINT TIMER0_INT; // 1.7 - Timer 0 Interrupt
PINT WAKE_INT; // 1.8 - Standby and Halt Wakeup Interrupt
PINT EPWM1_TZ_INT; // 2.1 - ePWM1 Trip Zone Interrupt
PINT EPWM2_TZ_INT; // 2.2 - ePWM2 Trip Zone Interrupt
PINT EPWM3_TZ_INT; // 2.3 - ePWM3 Trip Zone Interrupt
PINT EPWM4_TZ_INT; // 2.4 - ePWM4 Trip Zone Interrupt
PINT EPWM5_TZ_INT; // 2.5 - ePWM5 Trip Zone Interrupt
PINT EPWM6_TZ_INT; // 2.6 - ePWM6 Trip Zone Interrupt
PINT EPWM7_TZ_INT; // 2.7 - ePWM7 Trip Zone Interrupt
PINT EPWM8_TZ_INT; // 2.8 - ePWM8 Trip Zone Interrupt
PINT EPWM1_INT; // 3.1 - ePWM1 Interrupt
PINT EPWM2_INT; // 3.2 - ePWM2 Interrupt
PINT EPWM3_INT; // 3.3 - ePWM3 Interrupt
PINT EPWM4_INT; // 3.4 - ePWM4 Interrupt
PINT EPWM5_INT; // 3.5 - ePWM5 Interrupt
PINT EPWM6_INT; // 3.6 - ePWM6 Interrupt
PINT EPWM7_INT; // 3.7 - ePWM7 Interrupt
PINT EPWM8_INT; // 3.8 - ePWM8 Interrupt
PINT ECAP1_INT; // 4.1 - eCAP1 Interrupt
PINT ECAP2_INT; // 4.2 - eCAP2 Interrupt
PINT ECAP3_INT; // 4.3 - eCAP3 Interrupt
PINT ECAP4_INT; // 4.4 - eCAP4 Interrupt
PINT ECAP5_INT; // 4.5 - eCAP5 Interrupt
PINT ECAP6_INT; // 4.6 - eCAP6 Interrupt
PINT PIE14_RESERVED_INT; // 4.7 - Reserved
PINT PIE15_RESERVED_INT; // 4.8 - Reserved
PINT EQEP1_INT; // 5.1 - eQEP1 Interrupt
PINT EQEP2_INT; // 5.2 - eQEP2 Interrupt
PINT EQEP3_INT; // 5.3 - eQEP3 Interrupt
PINT PIE16_RESERVED_INT; // 5.4 - Reserved
PINT PIE17_RESERVED_INT; // 5.5 - Reserved
PINT PIE18_RESERVED_INT; // 5.6 - Reserved
PINT PIE19_RESERVED_INT; // 5.7 - Reserved
PINT PIE20_RESERVED_INT; // 5.8 - Reserved
PINT SPIA_RX_INT; // 6.1 - SPIA Receive Interrupt
PINT SPIA_TX_INT; // 6.2 - SPIA Transmit Interrupt
PINT SPIB_RX_INT; // 6.3 - SPIB Receive Interrupt
PINT SPIB_TX_INT; // 6.4 - SPIB Transmit Interrupt
PINT MCBSPA_RX_INT; // 6.5 - McBSPA Receive Interrupt
PINT MCBSPA_TX_INT; // 6.6 - McBSPA Transmit Interrupt
PINT MCBSPB_RX_INT; // 6.7 - McBSPB Receive Interrupt
PINT MCBSPB_TX_INT; // 6.8 - McBSPB Transmit Interrupt
PINT DMA_CH1_INT; // 7.1 - DMA Channel 1 Interrupt
PINT DMA_CH2_INT; // 7.2 - DMA Channel 2 Interrupt
PINT DMA_CH3_INT; // 7.3 - DMA Channel 3 Interrupt
PINT DMA_CH4_INT;
دیدگاه