目前在一款终端上调试CAN通讯出现无**常通讯的问题(在用J-LINK调试的时候比较正常),重新上电10次大概只有一两次能够正常,但相同的程序用在另一款终端上CAN通讯很正常(相同的硬件,不同的PCB)。这个问题已经困扰好几天了,到现在还没有解决。实在没撤,还请各位高手帮忙分析下问题可能出在哪里!!!
STM32F103VE,CAN接收器采用CTM1050T(5V,与STM32直连,期间也试过用CTM8251AT,3.3V的,情况一样),CAN调试器采用CAN232MB,两端均接有120欧电阻。无**常通讯时各寄存器值如下:
MSR寄存器(低位在前)00 0C 00 00:RX--1 SAMP--1
TSR 08 00 00 82 TEER0--1
ESR: 57 00 F8 00 TEC--F8 LEC--5显性位错误 BOFF--1 EPVF--1 EWGF--1
IER: 02 00 00 00 FMPIE0--1
用示波器测量CANL CANH,看到的都是低电平(隐性位),没看到有显性位,用CAN232MB可以往总线上成功发送数据,在CAN_RX上也能检测到波形。 |