TI论坛
直播中

李林

7年用户 187经验值
私信 关注
[问答]

为什么TM4C1231H6PMI进不去中断?

我要用tiMER使LED灯亮
但进不去中断
int sys_status;
void
IRQ_Timer0AIntHandler(void)
[
MAP_IntMasterDisable();
MAP_TimerIntClear(TIMER0_BASE, TIMER_TIMA_TIMEOUT);

switch (sys_status)
[
case 0:
MAP_GPIOPinWrite(GPIO_PORTA_BASE, GPIO_PIN_4, GPIO_PIN_4);
sys_status = 1;
break;
case 1:
MAP_GPIOPinWrite(GPIO_PORTA_BASE, GPIO_PIN_4, 0);
MAP_GPIOPinWrite(GPIO_PORTA_BASE, GPIO_PIN_5, GPIO_PIN_5);
sys_status = 2;
break;
case 2:
MAP_GPIOPinWrite(GPIO_PORTA_BASE, GPIO_PIN_5, 0);
MAP_GPIOPinWrite(GPIO_PORTA_BASE, GPIO_PIN_6, GPIO_PIN_6);
sys_status = 3;
break;
case 3:
MAP_GPIOPinWrite(GPIO_PORTA_BASE, GPIO_PIN_6, 0);
MAP_GPIOPinWrite(GPIO_PORTA_BASE, GPIO_PIN_7, GPIO_PIN_7);
sys_status = 4;
break;
case 4:
MAP_GPIOPinWrite(GPIO_PORTA_BASE, GPIO_PIN_7, 0);
MAP_GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_0, GPIO_PIN_0);
sys_status = 5;
break;
case 5:
MAP_GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_0, 0);
MAP_GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1, GPIO_PIN_1);
sys_status = 6;
break;
case 6:
MAP_GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1, 0);
MAP_GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_2, GPIO_PIN_2);
sys_status = 7;
break;
case 7:
MAP_GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_2, 0);
MAP_GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_3, GPIO_PIN_3);
sys_status = 8;
break;
case 8:
MAP_GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_3, 0);
sys_status = 0;
break;
default :
sys_status = 0;
break;
]
MAP_IntMasterEnable();
]
int
main(void)
[
MAP_SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
SYSCTL_XTAL_16MHZ);
MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);
MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART3);
MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART4);

MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);
MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);
MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
MAP_GPIOPinConfigure(GPIO_PA0_U0RX);
MAP_GPIOPinConfigure(GPIO_PA1_U0TX);
MAP_GPIOPinConfigure(GPIO_PC4_U4RX);
MAP_GPIOPinConfigure(GPIO_PC5_U4TX);
MAP_GPIOPinConfigure(GPIO_PC6_U3RX);
MAP_GPIOPinConfigure(GPIO_PC7_U3TX);

HWREG(GPIO_PORTF_BASE + 0x520) = 0x4C4F434B;
HWREG(GPIO_PORTF_BASE + 0x524) = 0x00FF;
HWREG(GPIO_PORTF_BASE + 0x420) = 0x0000;
HWREG(GPIO_PORTF_BASE + 0x51C) = 0x001F;
MAP_GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);
MAP_GPIOPinTypeUART(GPIO_PORTC_BASE, GPIO_PIN_4 | GPIO_PIN_5);
MAP_GPIOPinTypeUART(GPIO_PORTC_BASE, GPIO_PIN_6 | GPIO_PIN_7);

MAP_GPIOPinTypeGPIOOutput(GPIO_PORTA_BASE, GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7);
MAP_GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4);
MAP_UARTConfigSetExpClk(UART0_BASE, MAP_SysCtlClockGet(), 9600,
(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
UART_CONFIG_PAR_NONE));//115200


MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);

MAP_TimerDisable(TIMER0_BASE, TIMER_A);
MAP_TimerConfigure(TIMER0_BASE, TIMER_CFG_PERIODIC | TIMER_CFG_A_PERIODIC);
MAP_TimerLoadSet(TIMER0_BASE, TIMER_A, MAP_SysCtlClockGet());
MAP_TimerIntEnable(TIMER0_BASE, TIMER_TIMA_TIMEOUT);
MAP_IntEnable(INT_TIMER0A);
MAP_TimerEnable(TIMER0_BASE, TIMER_A);

sys_status = 0;

while(1)
[
]
]

回帖(5)

韦明

2019-9-9 10:50:32
向量表中的中断服务函数没有安装吧。
举报

李林

2019-9-9 11:08:08
不好意思,請問下向量表是指甚麼?
是加入这行吗?
void IRQ_Timer0AIntHandler(void);
加了但没有作用
不懂如何安裝中斷服務函數
举报

韦明

2019-9-9 11:20:58
#pragma DATA_SECTION(g_pfnVectors, ".intvecs")void (* const g_pfnVectors[])(void) =[    (void (*)(void))((uint32_t)&__STACK_TOP),                                            // The initial stack pointer    ResetISR,                               // The reset handler    NmiSR,                                  // The NMI handler    FaultISR,                               // The hard fault handler    IntDefaultHandler,                      // The MPU fault handler    IntDefaultHandler,                      // The bus fault handler    IntDefaultHandler,                      // The usage fault handler    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    IntDefaultHandler,                      // SVCall handler    IntDefaultHandler,                      // Debug monitor handler    0,                                      // Reserved    IntDefaultHandler,                      // The PendSV handler    IntDefaultHandler,                      // The SysTick handler    IntDefaultHandler,                      // GPIO Port A    IntDefaultHandler,                      // GPIO Port B    IntDefaultHandler,                      // GPIO Port C    IntDefaultHandler,                      // GPIO Port D    IntDefaultHandler,                      // GPIO Port E    IntDefaultHandler,                      // UART0 Rx and Tx    IntDefaultHandler,                      // UART1 Rx and Tx    IntDefaultHandler,                      // SSI0 Rx and Tx    IntDefaultHandler,                      // I2C0 Master and Slave    IntDefaultHandler,                      // PWM Fault    IntDefaultHandler,                      // PWM Generator 0    IntDefaultHandler,                      // PWM Generator 1    IntDefaultHandler,                      // PWM Generator 2    IntDefaultHandler,                      // Quadrature Encoder 0    IntDefaultHandler,                      // ADC Sequence 0    IntDefaultHandler,                      // ADC Sequence 1    IntDefaultHandler,                      // ADC Sequence 2    IntDefaultHandler,                      // ADC Sequence 3    IntDefaultHandler,                      // Watchdog timer    IntDefaultHandler,                      // Timer 0 subtimer A    IntDefaultHandler,                      // Timer 0 subtimer B    IntDefaultHandler,                      // Timer 1 subtimer A    IntDefaultHandler,                      // Timer 1 subtimer B    IntDefaultHandler,                      // Timer 2 subtimer A    IntDefaultHandler,                      // Timer 2 subtimer B    IntDefaultHandler,                      // Analog Comparator 0    IntDefaultHandler,                      // Analog Comparator 1    IntDefaultHandler,                      // Analog Comparator 2    IntDefaultHandler,                      // System Control (PLL, OSC, BO)    IntDefaultHandler,                      // FLASH Control    IntDefaultHandler,                      // GPIO Port F    IntDefaultHandler,                      // GPIO Port G    IntDefaultHandler,                      // GPIO Port H    IntDefaultHandler,                      // UART2 Rx and Tx    IntDefaultHandler,                      // SSI1 Rx and Tx    IntDefaultHandler,                      // Timer 3 subtimer A    IntDefaultHandler,                      // Timer 3 subtimer B    IntDefaultHandler,                      // I2C1 Master and Slave    IntDefaultHandler,                      // Quadrature Encoder 1    IntDefaultHandler,                      // CAN0    IntDefaultHandler,                      // CAN1    0,                                      // Reserved    0,                                      // Reserved    IntDefaultHandler,                      // Hibernate    IntDefaultHandler,                      // USB0    IntDefaultHandler,                      // PWM Generator 3    IntDefaultHandler,                      // uDMA Software Transfer    IntDefaultHandler,                      // uDMA Error    IntDefaultHandler,                      // ADC1 Sequence 0    IntDefaultHandler,                      // ADC1 Sequence 1    IntDefaultHandler,                      // ADC1 Sequence 2    IntDefaultHandler,                      // ADC1 Sequence 3    0,                                      // Reserved    0,                                      // Reserved    IntDefaultHandler,                      // GPIO Port J    IntDefaultHandler,                      // GPIO Port K    IntDefaultHandler,                      // GPIO Port L    IntDefaultHandler,                      // SSI2 Rx and Tx    IntDefaultHandler,                      // SSI3 Rx and Tx    IntDefaultHandler,                      // UART3 Rx and Tx    IntDefaultHandler,                      // UART4 Rx and Tx    IntDefaultHandler,                      // UART5 Rx and Tx    IntDefaultHandler,                      // UART6 Rx and Tx    IntDefaultHandler,                      // UART7 Rx and Tx    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    IntDefaultHandler,                      // I2C2 Master and Slave    IntDefaultHandler,                      // I2C3 Master and Slave    IntDefaultHandler,                      // Timer 4 subtimer A    IntDefaultHandler,                      // Timer 4 subtimer B    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    IntDefaultHandler,                      // Timer 5 subtimer A    IntDefaultHandler,                      // Timer 5 subtimer B    IntDefaultHandler,                      // Wide Timer 0 subtimer A    IntDefaultHandler,                      // Wide Timer 0 subtimer B    IntDefaultHandler,                      // Wide Timer 1 subtimer A    IntDefaultHandler,                      // Wide Timer 1 subtimer B    IntDefaultHandler,                      // Wide Timer 2 subtimer A    IntDefaultHandler,                      // Wide Timer 2 subtimer B    IntDefaultHandler,                      // Wide Timer 3 subtimer A    IntDefaultHandler,                      // Wide Timer 3 subtimer B    IntDefaultHandler,                      // Wide Timer 4 subtimer A    IntDefaultHandler,                      // Wide Timer 4 subtimer B    IntDefaultHandler,                      // Wide Timer 5 subtimer A    IntDefaultHandler,                      // Wide Timer 5 subtimer B    IntDefaultHandler,                      // FPU    0,                                      // Reserved    0,                                      // Reserved    IntDefaultHandler,                      // I2C4 Master and Slave    IntDefaultHandler,                      // I2C5 Master and Slave    IntDefaultHandler,                      // GPIO Port M    IntDefaultHandler,                      // GPIO Port N    IntDefaultHandler,                      // Quadrature Encoder 2    0,                                      // Reserved    0,                                      // Reserved    IntDefaultHandler,                      // GPIO Port P (Summary or P0)    IntDefaultHandler,                      // GPIO Port P1    IntDefaultHandler,                      // GPIO Port P2    IntDefaultHandler,                      // GPIO Port P3    IntDefaultHandler,                      // GPIO Port P4    IntDefaultHandler,                      // GPIO Port P5    IntDefaultHandler,                      // GPIO Port P6    IntDefaultHandler,                      // GPIO Port P7    IntDefaultHandler,                      // GPIO Port Q (Summary or Q0)    IntDefaultHandler,                      // GPIO Port Q1    IntDefaultHandler,                      // GPIO Port Q2    IntDefaultHandler,                      // GPIO Port Q3    IntDefaultHandler,                      // GPIO Port Q4    IntDefaultHandler,                      // GPIO Port Q5    IntDefaultHandler,                      // GPIO Port Q6    IntDefaultHandler,                      // GPIO Port Q7    IntDefaultHandler,                      // GPIO Port R    IntDefaultHandler,                      // GPIO Port S    IntDefaultHandler,                      // PWM 1 Generator 0    IntDefaultHandler,                      // PWM 1 Generator 1    IntDefaultHandler,                      // PWM 1 Generator 2    IntDefaultHandler,                      // PWM 1 Generator 3    IntDefaultHandler                       // PWM 1 Fault];要在这里把你的中断服务函数加进去的。
举报

李林

2019-9-9 11:39:06
有的,我有加入了,但还是没有亮,也没有ERROR
__root const uVectorEntry __vector_table[] @ ".intvec" =[    [ .ui32Ptr = (uint32_t)pui32Stack + sizeof(pui32Stack) ],                                            // The initial stack pointer    ResetISR,                               // The reset handler    NmiSR,                                  // The NMI handler    FaultISR,                               // The hard fault handler    IntDefaultHandler,                      // The MPU fault handler    IntDefaultHandler,                      // The bus fault handler    IntDefaultHandler,                      // The usage fault handler    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    IntDefaultHandler,                      // SVCall handler    IntDefaultHandler,                      // Debug monitor handler    0,                                      // Reserved    IntDefaultHandler,                      // The PendSV handler    IntDefaultHandler,                      // The SysTick handler    IntDefaultHandler,                               // GPIO Port A    IntDefaultHandler,                               // GPIO Port B    IntDefaultHandler,                               // GPIO Port C    IntDefaultHandler,                      // GPIO Port D    IntDefaultHandler,                      // GPIO Port E//    IRQ_UI_UARTIntHandler,                      // UART0 Rx and Tx    IntDefaultHandler,                      // UART1 Rx and Tx    IntDefaultHandler,                      // SSI0 Rx and Tx    IntDefaultHandler,                      // I2C0 Master and Slave    IntDefaultHandler,                      // PWM Fault    IntDefaultHandler,                      // PWM Generator 0    IntDefaultHandler,                      // PWM Generator 1    IntDefaultHandler,                      // PWM Generator 2    IntDefaultHandler,                      // Quadrature Encoder 0    IntDefaultHandler,                      // ADC Sequence 0    IntDefaultHandler,                      // ADC Sequence 1    IntDefaultHandler,                      // ADC Sequence 2    IntDefaultHandler,                      // ADC Sequence 3    IntDefaultHandler,                      // Watchdog timer    IRQ_Timer0AIntHandler,                      // Timer 0 subtimer A    IntDefaultHandler,                      // Timer 0 subtimer B    IntDefaultHandler,                      // Timer 1 subtimer A    IntDefaultHandler,                      // Timer 1 subtimer B    IntDefaultHandler,                      // Timer 2 subtimer A    IntDefaultHandler,                      // Timer 2 subtimer B    IntDefaultHandler,                      // Analog Comparator 0    IntDefaultHandler,                      // Analog Comparator 1    IntDefaultHandler,                      // Analog Comparator 2    IntDefaultHandler,                      // System Control (PLL, OSC, BO)    IntDefaultHandler,                      // FLASH Control    IntDefaultHandler,                      // GPIO Port F    IntDefaultHandler,                      // GPIO Port G    IntDefaultHandler,                      // GPIO Port H    IntDefaultHandler,                      // UART2 Rx and Tx    IntDefaultHandler,                      // SSI1 Rx and Tx    IntDefaultHandler,                      // Timer 3 subtimer A    IntDefaultHandler,                      // Timer 3 subtimer B    IntDefaultHandler,                      // I2C1 Master and Slave    IntDefaultHandler,                      // Quadrature Encoder 1    IntDefaultHandler,                      // CAN0    IntDefaultHandler,                      // CAN1    0,                                      // Reserved    0,                                      // Reserved    IntDefaultHandler,                      // Hibernate    IntDefaultHandler,                      // USB0    IntDefaultHandler,                      // PWM Generator 3    IntDefaultHandler,                      // uDMA Software Transfer    IntDefaultHandler,                      // uDMA Error    IntDefaultHandler,                      // ADC1 Sequence 0    IntDefaultHandler,                      // ADC1 Sequence 1    IntDefaultHandler,                      // ADC1 Sequence 2    IntDefaultHandler,                      // ADC1 Sequence 3    0,                                      // Reserved    0,                                      // Reserved    IntDefaultHandler,                      // GPIO Port J    IntDefaultHandler,                      // GPIO Port K    IntDefaultHandler,                      // GPIO Port L    IntDefaultHandler,                      // SSI2 Rx and Tx    IntDefaultHandler,                      // SSI3 Rx and Tx//    IRQ_BLE_UARTIntHandler,                      // UART3 Rx and Tx//    IRQ_AIT_UARTIntHandler,                      // UART4 Rx and Tx    IntDefaultHandler,                      // UART5 Rx and Tx    IntDefaultHandler,                      // UART6 Rx and Tx    IntDefaultHandler,                      // UART7 Rx and Tx    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    IntDefaultHandler,                      // I2C2 Master and Slave    IntDefaultHandler,                      // I2C3 Master and Slave    IntDefaultHandler,                      // Timer 4 subtimer A    IntDefaultHandler,                      // Timer 4 subtimer B    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    0,                                      // Reserved    IntDefaultHandler,                      // Timer 5 subtimer A    IntDefaultHandler,                      // Timer 5 subtimer B    IntDefaultHandler,                      // Wide Timer 0 subtimer A    IntDefaultHandler,                      // Wide Timer 0 subtimer B//    IRQ_WTimer1AIntHandler,                      // Wide Timer 1 subtimer A//    IRQ_WTimer1BIntHandler,                      // Wide Timer 1 subtimer B    IntDefaultHandler,                      // Wide Timer 2 subtimer A    IntDefaultHandler,                      // Wide Timer 2 subtimer B    IntDefaultHandler,                      // Wide Timer 3 subtimer A    IntDefaultHandler,                      // Wide Timer 3 subtimer B    IntDefaultHandler,                      // Wide Timer 4 subtimer A    IntDefaultHandler,                      // Wide Timer 4 subtimer B    IntDefaultHandler,                      // Wide Timer 5 subtimer A    IntDefaultHandler,                      // Wide Timer 5 subtimer B    IntDefaultHandler,                      // FPU    0,                                      // Reserved    0,                                      // Reserved    IntDefaultHandler,                      // I2C4 Master and Slave    IntDefaultHandler,                      // I2C5 Master and Slave    IntDefaultHandler,                      // GPIO Port M    IntDefaultHandler,                      // GPIO Port N    IntDefaultHandler,                      // Quadrature Encoder 2    0,                                      // Reserved    0,                                      // Reserved    IntDefaultHandler,                      // GPIO Port P (Summary or P0)    IntDefaultHandler,                      // GPIO Port P1    IntDefaultHandler,                      // GPIO Port P2    IntDefaultHandler,                      // GPIO Port P3    IntDefaultHandler,                      // GPIO Port P4    IntDefaultHandler,                      // GPIO Port P5    IntDefaultHandler,                      // GPIO Port P6    IntDefaultHandler,                      // GPIO Port P7    IntDefaultHandler,                      // GPIO Port Q (Summary or Q0)    IntDefaultHandler,                      // GPIO Port Q1    IntDefaultHandler,                      // GPIO Port Q2    IntDefaultHandler,                      // GPIO Port Q3    IntDefaultHandler,                      // GPIO Port Q4    IntDefaultHandler,                      // GPIO Port Q5    IntDefaultHandler,                      // GPIO Port Q6    IntDefaultHandler,                      // GPIO Port Q7    IntDefaultHandler,                      // GPIO Port R    IntDefaultHandler,                      // GPIO Port S    IntDefaultHandler,                      // PWM 1 Generator 0    IntDefaultHandler,                      // PWM 1 Generator 1    IntDefaultHandler,                      // PWM 1 Generator 2    IntDefaultHandler,                      // PWM 1 Generator 3    IntDefaultHandler                       // PWM 1 Fault];
举报

更多回帖

发帖
×
20
完善资料,
赚取积分