请教一个关于于CAN中断接收数据的问题:
在STM32的CAN通信中,采用中断方式接收数据,但发现一个问题,就是 主机发一组数据下去,从机收到后返回一组数据给主机;然后主机就像死机一样不动了。这里猜想应该是产生了中断。然后关闭中断,采用查询的方式读取数据则可以正确读取,不知道怎么回事,求教了。
// 中断函数
void USB_LP_CAN1_RX0_IRQHandler(void)
{
//u8 rxbuf[8];
u32 id;
u8 ide,rtr,len;
u8 i;
Can_Rx_Msg(0,&id,&ide,&rtr,&len,CAN_RBuf);
//CanRxLong = len;
SYS_Flag.SYS_canrxfg = 1;
CAN->RF0R = 1<<5;
for(i=0;i
UART1_Send_1Byte(CAN_RBuf[i]);
LED6 ^=1;
}
仿真的时候看了一下,死在 startup_stm32f10x_ld.s 文件这里了
这是什么问题?!
本帖最后由 pcf2000 于 2017-3-7 17:30 编辑
请问下楼主。你是怎么解决这个问题的。我也遇到一样的问题
代码上没问题,是CAN驱动器IC TAJ1050有问题,换一个就好了