完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在过去的数千种产品中,只有一种有问题的产品。 出现的现象是,CAN模块无法接收0x3080的扩展帧,例如 0x4080 帧、0x3FF 帧、0x4F03 帧和 0x4F04 帧,所有这些帧都可以正常接收。 我测试了 CAN 收发器,它能够传输数据。 我不确定是什么原因造成的,但是是不是因为我在初始化期间将标准帧放在扩展帧的中间才导致的? 那么,为什么这么多产品只有一个有这个问题。
在我的项目中配置 CAN 的过滤器寄存器如下所示: /********************************** * CAN_1 RX ***************************/ /*15*/ { 1, /*logic controller*/ 0x4080, /*CAN ID*/ CAN_MB_RX_MASK|CAN_MB_FULL_MASK, /*hohType bit0:0-receive,1-transmit;bit1:0-basic ,1-full*/ 0x1ffffffful, /*value of Rx Individual Mask Registers*/ 0 /* 0-CAN, else CANFD */ }, /*16*/ { 1, /*logic controller*/ 0x3FF, /*CAN ID*/ CAN_MB_RX_MASK|CAN_MB_FULL_MASK, /*hohType bit0:0-receive,1-transmit;bit1:0-basic ,1-full*/ 0x1ffffffful, /*value of Rx Individual Mask Registers*/ #ifdef XCPCANFD 1 /* 0-CAN, else CANFD */ #else 0 #endif }, /*17*/ { 1, /*logic controller*/ 0x3080, /*CAN ID*/ CAN_MB_RX_MASK|CAN_MB_FULL_MASK, /*hohType bit0:0-receive,1-transmit;bit1:0-basic ,1-full*/ 0x1ffffffful, /*value of Rx Individual Mask Registers*/ 0 /* 0-CAN, else CANFD */ }, /*18*/ { 1, /*logic controller*/ 0x4F03, /*CAN ID*/ CAN_MB_RX_MASK|CAN_MB_FULL_MASK, /*hohType bit0:0-receive,1-transmit;bit1:0-basic ,1-full*/ 0x1ffffffful, /*value of Rx Individual Mask Registers*/ 0 /* 0-CAN, else CANFD */ }, /*19*/ { 1, /*logic controller*/ 0x4F04, /*CAN ID*/ CAN_MB_RX_MASK|CAN_MB_FULL_MASK, /*hohType bit0:0-receive,1-transmit;bit1:0-basic ,1-full*/ 0x1ffffffful, /*value of Rx Individual Mask Registers*/ 0 /* 0-CAN, else CANFD */ } |
|
相关推荐
1个回答
|
|
无法准确确定造成问题的原因,但可能的原因包括:
1. 初始化期间将标准帧放在扩展帧的中间:在初始化CAN模块时,可能会对接收的帧进行过滤和配置。如果在初始化期间将标准帧放在扩展帧的中间,可能会导致CAN模块无法正确接收特定的信号帧。 2. 硬件故障:CAN模块可能存在硬件故障,导致无法正确接收特定的信号帧。这种情况下,只有一个产品出现问题可能是由于制造过程中的特定差异导致。 为了确定问题的根本原因,建议进行以下步骤: 1. 检查CAN模块的配置和初始化代码,确保标准帧和扩展帧的配置没有互相干扰。 2. 验证其他产品是否也会出现相同的问题,如果是,则可能是因为CAN模块的硬件故障引起的。 3. 检查产品中使用的CAN收发器,确保其正常工作。可以尝试使用不同的收发器来排除收发器故障的可能性。 4. 如果可能的话,尝试在没有其他设备连接的情况下进行测试,以确保问题不是由其他设备引起的干扰。 如果以上步骤无法解决问题,可能需要进行更深入的调试和故障排除,例如使用示波器监视CAN信号线,以确定是否有任何异常或干扰。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STC32G8K64 单片机 的P00(ADC8)脚短路到GND 会死机,怎么解决?
1524 浏览 2 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-Linux C接口编程入门之ioctl操作
999 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第十七章 machine.WDT类实验
665 浏览 0 评论
1203 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-通用文件I/O模型之close
1374 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11507 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-21 10:41 , Processed in 0.723238 second(s), Total 73, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号