请教一个关于于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<CanRxLong;i++)
UART1_Send_1Byte(CAN_RBuf[i]);
LED6 ^=1;
}
此帖出自
小平头技术问答
CAN->RF0R = 1<<5;
这句应该是清除中断标记吧
一周热门 更多>