- 打卡等级:以坛为家I
- 打卡总天数:286
- 最近打卡:2025-05-01 02:56:56
已绑定手机
高级会员
- 积分
- 640
|
本帖最后由 ysp5318 于 2024-9-19 17:24 编辑
if(sr & 0x01) //判断是否有 BS:BUS-OFF状态
{
CANAR = MR;
CANDR &= ~0x04; //清除 Reset Mode, 从BUS-OFF状态退出
}
else
{
CanSendMsg(&CAN2_Tx); //发送一帧数据
}
}
}
if(B_Can1Read)
{
B_Can1Read = 0;
CANSEL = 0; //选择CAN1模块
n = CanReadMsg(CAN1_Rx); //读取接收内容
if(n>0)
{
for(i=0;i<n;i++)
{
if(CAN1_Rx.ID == 0x0567)
{
if(CAN1_Rx.DataBuffer[0] == 0x11)
{
P20 = 0; //LED On //开灯
}
else
{
P21 = 0; //LED On //开灯
}
}
// CanSendMsg(&CAN1_Rx); //CAN总线原样返回
// printf("CAN1:ID=0x%08lX DLC=%d FF=%d RTR=%d ",CAN1_Rx.ID,CAN1_Rx.DLC,CAN1_Rx.FF,CAN1_Rx.RTR); //串口打印帧信息
// for(j=0;j<CAN1_Rx.DLC;j++)
// {
// printf("0x%02X ",CAN1_Rx.DataBuffer[j]); //从串口输出收到的数据
// }
// printf("\r\n");
}
把屠龙刀中14-CAN1-CAN2总线标准帧扩展帧同时使用收发测试的程序作了以上修改但在屠龙刀上不能实现,请老师赐教。 |
|