完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我使用的是 TC3E7 控制器。 我曾尝试在 AURIX 中实现 QSPI。 为此,我编写了自己的寄存器级代码。
问题是我为 QSPI 代码添加了中断。 ISR 不会立即被调用。 每当触发中断时,例程不会立即得到服务。 在中断寄存器中,我可以看到挂起很长时间。 我想知道我错过了什么。 我在 SRPN 中赋予了 0xF1 的高优先级。 SRC_QSPI3RX.SRR=pending; SRC_QSPI4RX.U=0; SRC_QSPI4RX.B.SRPN=QSPI4_RX_Priority; SRC_QSPI4RX.B.SRE=1; SRC_QSPI4RX.B.CLRR=1; SRC_QSPI4RX.B.TOS=0; |
|
相关推荐
1个回答
|
|
以下是一些建议和可能的原因:
1. 确保您正确配置了 QSPI 控制器。检查 QSPI 寄存器设置,确保它们与您的硬件和需求匹配。 2. 确保您正确设置了中断优先级。您已经为 QSPI 接收中断分配了 0xF1 的高优先级,这是正确的。但是,请确保没有其他中断具有更高的优先级,这可能会阻止 QSPI 中断被立即处理。 3. 检查中断使能。确保您已经使能了 QSPI 接收中断。在您的代码中,您已经设置了 SRC_QSPI4RX.B.SRE=1,这是正确的。 4. 确保您的中断服务例程(ISR)正确编写。检查 ISR 是否正确处理中断,并在完成处理后清除中断标志位。 5. 检查其他可能影响中断响应的因素。例如,确保您的系统时钟设置正确,因为时钟设置可能会影响中断响应时间。 6. 使用调试工具检查中断处理流程。使用调试器逐步执行代码,观察中断触发和处理的过程,以确定问题所在。 |
|
|
|
只有小组成员才能发言,加入小组>>
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
5362 浏览 2 评论
4071 浏览 9 评论
请问TLE5012B_E1000 启动后为什么位置不能正确获取
3588 浏览 9 评论
1203 浏览 8 评论
3491 浏览 7 评论
409浏览 2评论
241浏览 2评论
350浏览 2评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
5369浏览 2评论
如果是打开已有的dave工程,怎么查看这个工程选择的mcu型号?
411浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 19:44 , Processed in 0.661193 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号