Arm 导致硬故障的LPC1769 UART中断

Arm 导致硬故障的LPC1769 UART中断,arm,interrupt-handling,uart,cortex-m3,lpc,Arm,Interrupt Handling,Uart,Cortex M3,Lpc,我刚刚为UART3启用了接收中断,但我一发送数据就遇到了硬故障。下面是我初始化它的方式: LPC_UART_TypeDef *uart; LPC_SC->PCONP |= 1 << 25; LPC_PINCON->PINSEL1 |= 0b1111 << 18; uart = LPC_UART3; uart->FCR = 0b111; // Reset FIFOs uart->LCR = 0b10000011; uart->DLL = 1

我刚刚为UART3启用了接收中断,但我一发送数据就遇到了硬故障。下面是我初始化它的方式:

LPC_UART_TypeDef *uart;

LPC_SC->PCONP |= 1 << 25;
LPC_PINCON->PINSEL1 |= 0b1111 << 18;

uart = LPC_UART3;
uart->FCR = 0b111; // Reset FIFOs
uart->LCR = 0b10000011;
uart->DLL = 12;
uart->DLM = 0;
uart->FDR = 0xe5;
uart->LCR = 0b00000011;
uart->IER = 1; // Enable RBR interrupt

NVIC_EnableIRQ(UART3_IRQn);
LR和PC似乎都不是很有用。这是我添加的第一个IRQ。所有其他向量表条目均为SysTick和以下

如何找出故障的原因

这是我的向量表:

.word zeptos_msp_top
.word zeptos_reset_isr
.word 0 /* NMI */
.word zeptos_hardfault_isr_shim
.word zeptos_memmanage_isr
.word zeptos_busfault_isr
.word zeptos_usagefault_isr
.word 0 /* Reserved */
.word 0 /* Reserved */
.word 0 /* Reserved */
.word 0 /* Reserved */
.word zeptos_svc_isr
.word 0 /* DebugMon */
.word 0 /* Reserved */
.word zeptos_pendsv_isr
.word zeptos_systick_isr
.word 0 /* WDT */
.word 0 /* Timer 0 */
.word 0 /* Timer 1 */
.word 0 /* Timer 2 */
.word 0 /* Timer 3 */
.word 0 /* Timer 4 */
.word 0 /* UART 0 */
.word 0 /* UART 1 */
.word 0 /* UART 2 */
.word zeptos_uart3_isr

PC
寄存器的
0x00
看起来像向量表中的
0x00000000
。检查中断向量表是否正确,lpc176x上UART3的处理程序位于位置24


表项
((uint32_t*)0x00000)[24]
必须指向您的处理程序加上拇指位。

我已经对它进行了三次检查,我确信它是正确的。我把它添加到我的问题中以防万一。我的。上帝我有一个额外的计时器IRQ在那里-没有计时器4!谢谢你让我再检查一遍!
.word zeptos_msp_top
.word zeptos_reset_isr
.word 0 /* NMI */
.word zeptos_hardfault_isr_shim
.word zeptos_memmanage_isr
.word zeptos_busfault_isr
.word zeptos_usagefault_isr
.word 0 /* Reserved */
.word 0 /* Reserved */
.word 0 /* Reserved */
.word 0 /* Reserved */
.word zeptos_svc_isr
.word 0 /* DebugMon */
.word 0 /* Reserved */
.word zeptos_pendsv_isr
.word zeptos_systick_isr
.word 0 /* WDT */
.word 0 /* Timer 0 */
.word 0 /* Timer 1 */
.word 0 /* Timer 2 */
.word 0 /* Timer 3 */
.word 0 /* Timer 4 */
.word 0 /* UART 0 */
.word 0 /* UART 1 */
.word 0 /* UART 2 */
.word zeptos_uart3_isr