完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
测试环境:
(1)使用CYT2B75 SK Rev03官方开发板+SDL8.0(T2G_Sample_Driver_Library_8.0.0tviibe1msrcexamplescanfdUseAsCANFDMode),代码未经过任何修改,测试CANFD功能,初始化完成,debug,首次调用 Cy_CANFD_UpdateAndTransmitMsgBuffer(CY_CANFD_TYPE, 0, stcMsg) 发送测试数据,直接return CY_CANFD_BAD_PARAM,经调用函数Cy_CANFD_GetTxBufferStatus查看发送状态,返回值为CY_CANFD_TX_BUFFER_PENDING; (2)使用CYT2B75 SK Rev03官方开发板+SDL8.0(T2G_Sample_Driver_Library_8.0.0tviibe1msrcexamplescanfdClassic_CAN),代码未经过任何修改,测试经典CAN,功能正常。 问题:根据论坛和TRM的资料,我尝试手动清除TXBCR寄存器,也无法正常发送CANFD数据。使用1M-SK Rev03开发板和SDL8.0测试CANFD功能,是否需要再配置CANFD吗?可能存在什么问题,让CANFD的发送从初始化完成就pending? 麻烦大佬们指点,谢谢! |
|
相关推荐
1个回答
|
|
1. 检查硬件连接:确保CAN收发器和开发板之间的连接正确无误。检查CAN收发器的电源和地线是否连接正确。 2. 检查CANFD配置:确保CANFD配置正确,包括波特率、数据位、仲裁场大小等。请参考官方文档和示例代码,确保您的配置与示例代码一致。 3. 检查消息结构:检查stcMsg结构体是否正确初始化,包括ID、DLC、数据等字段。确保消息结构体中的参数符合CANFD协议要求。 4. 检查错误处理:Cy_CANFD_UpdateAndTransmitMsgBuffer函数返回CY_CANFD_BAD_PARAM错误,可能是由于参数错误导致的。请检查传递给该函数的参数是否正确。 5. 检查发送缓冲区状态:您提到调用Cy_CANFD_GetTxBufferStatus函数返回CY_CANFD_TX_BUFFER_PENDING,这表示发送缓冲区正在等待发送。请确保发送缓冲区没有被其他任务占用,或者检查是否有其他任务正在等待发送。 6. 检查中断和DMA配置:如果使用了中断或DMA来处理CANFD通信,请确保相关配置正确。检查中断向量、优先级和DMA通道设置。 7. 更新软件和固件:确保您的开发环境、SDK和固件是最新版本。有时,软件或固件的旧版本可能会导致兼容性问题或已知的错误。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教个XMC1404调试串口接收时为什么一直无法接收数据的问题
346 浏览 0 评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
6120 浏览 2 评论
4101 浏览 9 评论
请问TLE5012B_E1000 启动后为什么位置不能正确获取
3628 浏览 9 评论
1229 浏览 8 评论
452浏览 2评论
267浏览 2评论
374浏览 2评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
6133浏览 2评论
如果是打开已有的dave工程,怎么查看这个工程选择的mcu型号?
451浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 18:48 , Processed in 0.795589 second(s), Total 76, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号