- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
请教个问题:
基于SDL7.3 验证Basic CAN功能,示例路径为:T2G_Sample_Driver_Library_7.3.0\tviibe1m\src\examples\canfd\Classic_CAN
CAN 接口可以正常的收发数据,但数据发送成功后,其发送完成标记没有置位,烦请帮忙确定下该问题原因;
debug过程截图如下:
Solved! Go to Solution.
- Labels:
-
TRAVEO™ T2G
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi chme_4646286
请检查另一个寄存器CANFDx_CHy_TXBTO.TO位是否置位
TO为一个32位寄存器,置位的序号与使用了几号buffer发送数据有关。
BR,
Finn
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi chme_4646286
先将对应通道下的CANFDx_CHy_IE寄存器下的TCE位设置成enable(1)再看一下呢?
Best Regards,
Finn
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi chme_4646286,
cy_canfd.c 中的 Cy_CANFD_IrqHandler函数,在偏下位置处有代码
else if(pstcCanFDChMTTCAN->unIR.stcField.u1TC == 1) // Transmission Completed
pstcCanFDChMTTCAN->unIR.stcField.u1TC = 1UL;
可能将TC位清除了,请在这句话之前设置断点,检查中断标记位置TC是否为1
BR,
Finn
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi yanf;
在代码
else if(pstcCanFDChMTTCAN->unIR.stcField.u1TC == 1) // Transmission Completed
pstcCanFDChMTTCAN->unIR.stcField.u1TC = 1UL;
之前打断点,中断标记位TC并没有置位;
请知悉,谢谢
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi chme_4646286
请检查另一个寄存器CANFDx_CHy_TXBTO.TO位是否置位
TO为一个32位寄存器,置位的序号与使用了几号buffer发送数据有关。
BR,
Finn