- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚为 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);
根据 GDB,我的 ISR 甚至没有受到攻击。我已经确认它在我的向量表中的正确位置,并设置了正确的地址和位 0(对于 Thumb-2 模式,就像我所有其他处理程序一样)。事实上,当我用空函数替换 ISR 时,我仍然会报错。这是我的故障处理程序的输出:
Hard fault FORCED
r0 = 0000000a
r1 = 0000000b
r2 = 000002ed
r3 = 00000000
r12 = 00000000
lr = fffffffd
pc = 00000000
psr = 60000218
BFAR = e000ed38
CFSR = 00020000
DFSR = 00000000
AFSR = 00000000
SHCSR = 00070000
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]
必须指向您的处理程序加上拇指位。
关于arm - LPC1769 UART中断导致硬故障,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19972412/
LPC 4370 link2 与 huzzah esp8266 分线板交互。我正在使用 LPC XpressO,但所有可用代码均来自 Arduino。尝试更改代码以适合我的程序员。 WiFi.begi
更新托管驱动程序中的对象将显示任何语法错误,并以适当的方式记录任何运行时。我可以检查对象中的全局变量并使用命令进行继承,但是在检查函数范围的变量和参数,或单步执行函数并在执行期间检查时,我不知所措。
我是信号处理的新手,正在尝试为不同的.wav文件计算共振峰频率特征。 为了计算共振峰频率,我需要三个参数值: 线性预测系数(LPC) 根 Angular 我正在尝试在python中使用librosa.
首先声明我是嵌入式技术的新手。我正在使用 NXP LPC1769 板。几天来,我一直在寻找有关如何使用看门狗从深度 sleep 模式唤醒的示例,但我找不到。 我阅读了 UM10360 的第 21.1
我正在研究基于 lpc2468 ARM 的微 Controller 。我无法配置 Controller 的 UART1。以前我出于同样的目的使用 UART0,但由于硬件的一些变化,现在我不得不使用 U
我想知道如果我想在 lpc 2468 中启用 MAM 功能,我应该同时指定 MAMTIM 和 MAMCR 寄存器还是只指定 MAMCR。 Is it necessary to specify MAMT
我正在使用以下代码,其主要主题是在lpc 1837中生成引脚中断,我在获取中断方面遇到了麻烦,任何人都可以提出这段代码中出了什么问题的建议编译器:Keil /* Configure pin as di
我是信号处理的新手(以及 numpy、scipy 和 matlab 方面的新手)。我正在尝试通过调整此 matlab 代码在 Python 中使用 LPC 估计元音共振峰: http://www.ma
Linux 设备驱动程序如何处理通过 LPC(低引脚数)总线连接的设备生成的 SERIRQ 中断?特别是,如何区分总线上一个设备产生的中断与总线上另一个设备产生的中断? 最佳答案 SERIRQ 串行编
我正在 Olimex LPC2378-STK 上做一些工作。 我有以下声明。 unsigned char buffer[256]; 然后我尝试做: strncpy((char *)buffer, "C
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是 恩智浦全系列MCU(包含Kinetis, LPC, i.MXRT, MCX)的GPIO电平中断设计差异 . 在痞子衡旧文
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我正在使用 Arch Linux,但没有找到任何软件可以让我将文件闪存到我的微 Controller 上。我学校的闪存文档有一个 python 文件,当我运行它时,我收到错误消息 root: Time
我们有一个基于 Atom Z510/Intel SCH US15W Q7 卡(运行 Debian Linux)的系统。我们需要从低引脚数总线上的设备传输数据块。据我所知,该芯片组不提供 DMA 功能,
我正在尝试在几个 LPC 设备节点之间设置 CAN 通信。我的设置包括几个写入 CAN 总线的 CAN 节点。例如,LPC 2292 CAN Controller 可以写入 CAN 总线,而 LPC1
我是一名优秀的程序员,十分优秀!