|
/*-----------------滤波器配置---------------------*/
CAN_FilterInitStructure.CAN_FilterNumber=0;
CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;
CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit;
CAN_FilterInitStructure.CAN_FilterIdHigh=0x0000;
CAN_FilterInitStructure.CAN_FilterIdLow=0x0000;
CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0x0000;
CAN_FilterInitStructure.CAN_FilterMaskIdLow=0x0000;
CAN_FilterInitStructure.CAN_FilterFIFOAssignment=0;
CAN_FilterInitStructure.CAN_FilterActivation=ENABLE;
CAN_FilterInit(&CAN_FilterInitStructure);
CAN_FilterInit(&CAN_FilterInitStructure);
/*------------------------发送报文----------------------*/
void User_CANTransmit( CanTxMsg *TxMessge)
{
uint8_t i;
// TxMessage.ExtId=0x18F212F3; //扩展ID
TxMessage.ExtId=(Can_Send_Data[3]<<24)|(Can_Send_Data[2]<<16)|(Can_Send_Data[1]<<8)|Can_Send_Data[0];
TxMessage.IDE=CAN_ID_EXT;
TxMessage.RTR=CAN_RTR_DATA;
TxMessage.DLC=8;
for(i=0;i<8;i++)
{
TxMessage.Data[i]=i;
}
}
/*--------------------------接收中断 -----------------------------*/
void USB_LP_CAN1_RX0_IRQHandler(void)
{
if(CAN_GetITStatus(CAN1,CAN_IT_FMP0)!=RESET)
{
uint8_t i;
CAN_ClearITPendingBit(CAN1,CAN_IT_FMP0);
CAN_Receive(CAN1,CAN_FIFO0,&RxMessage);
Can_Rec_Data[0]=RxMessage.ExtId&0x000000FF;
Can_Rec_Data[1]=RxMessage.ExtId&0x0000FF00;
Can_Rec_Data[2]=RxMessage.ExtId&0x00FF0000;
Can_Rec_Data[3]=RxMessage.ExtId&0xFF000000;
Can_Rec_Data[4]=RxMessage.DLC;
for(i=0;i<RxMessage.DLC;i++)
{
(Can_Rec_Data[5+i])=RxMessage.Data[i];
}
Can_Rec_Len=RxMessage.DLC+5;
F_Analyze=1;
}
}
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!
|