完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我目前正在使用 Aurix TC397 发送和接收帧,我设法发送了,但"transmissionCompletedEnabled" 的中断似乎不起作用。
我在 RX FIFO0 中接收到了帧,但中断 RX 也不起作用。 因为我没有进行中断,所以无法读取 FIFO 内的内容。 在我的配置中,我启用了 :
以下是我的 TX 中断配置: g_mcmcan.canNodeConfig.中断配置.transmissionCompletedEnabled= TRUE; g_mcmcan.canNodeConfig.中断配置.traco.中断配置= isr_priority_can_tx; g_mcmcan.canNodeConfig.中断配置.traco.中断行= IfxCan_InterruptLine_2; g_mcmcn.canNodeConfig.中断配置.traco.服务类型= IfxSrc_Tos_cpu0; 以下是我对 RX FIFO0 的中断配置: g_mcmcan.canNodeConfig.中断配置.rxFifo0NewMessageEnabled= TRUE; g_mcmcan.canNodeConfig.中断配置.rxf0f.中断= isr_priority_can_rx; g_mcmcan.canNodeConfig.中断配置.rxf0f.中断行= IfxCan_InterruptLine_1; g_mcmcan.canNodeConfig.中断配置.rxf0f.服务类型= IfxSrc_Tos_cpu0; 我不知道该去哪里找解决这个问题的办法。 谢谢, |
|
相关推荐
1个回答
|
|
要解决CAN中断对RX和TX无效的问题,请按照以下步骤操作:
1. 确保硬件连接正确:首先,请确保您的Aurix TC397与CAN收发器之间的硬件连接是正确的。检查CAN收发器的电源、地线和CAN总线连接。 2. 检查中断配置:请确保您已正确配置了中断。根据您的描述,您已经启用了"transmissionCompletedEnabled"和"rxFifo0NewMessageEnabled"。请确保这些配置在代码中正确设置。 3. 检查中断服务程序(ISR):确保您已经编写了相应的中断服务程序(ISR)来处理TX和RX中断。如果没有编写ISR,中断将无法正常工作。 4. 检查中断优先级:请确保您的中断优先级设置正确。如果中断优先级设置不正确,可能会导致中断无法触发。 5. 检查中断使能状态:请确保您的中断使能状态是正确的。您可以在中央处理器寄存器上检查中断使能状态,确保它们已启用。 6. 检查FIFO配置:请确保您的FIFO配置正确。根据您的描述,您已经启用了RX FIFO0。请确保FIFO的深度和水印设置正确。 7. 检查CAN控制器配置:请确保您的CAN控制器配置正确。这包括波特率、模式、过滤器等设置。 8. 使用调试工具:如果以上步骤都无法解决问题,您可以尝试使用调试工具(如示波器)来检查CAN总线上的信号。这将帮助您确定问题是否出在硬件上。 9. 查阅官方文档:最后,建议您查阅Aurix TC397的官方文档,以获取更多关于CAN中断配置和故障排除的信息。 通过以上步骤,您应该能够找到并解决CAN中断对RX和TX无效的问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教个XMC1404调试串口接收时为什么一直无法接收数据的问题
449 浏览 0 评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
7281 浏览 2 评论
4155 浏览 9 评论
请问TLE5012B_E1000 启动后为什么位置不能正确获取
3688 浏览 9 评论
1273 浏览 8 评论
520浏览 2评论
322浏览 2评论
436浏览 2评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
7281浏览 2评论
如果是打开已有的dave工程,怎么查看这个工程选择的mcu型号?
531浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-9 10:46 , Processed in 0.440343 second(s), Total 46, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191