查看: 3886|回复: 6

[S12] MC9S12XDP512的CAN无法同时发送多条报文

[复制链接]

该用户从未签到

8

主题

35

帖子

0

新手上路

Rank: 1

积分
92
最后登录
1970-1-1
发表于 2013-9-26 17:39:24 | 显示全部楼层 |阅读模式
我在挑CAN通讯采用单片机的CAN0与CAN4进行收发报文,大概收发30条左右,但是采用CAN0定时发送时,只发送一条报文没问题,可是发送多条报文,CAN总线上就什么都没有了。CAN4定时发送没有问题,折是为什么呢?以下是周期发送的程序:
 
switch(CAN_cyclic_timeslice)               //CAN_cyclic_timeslice是循环周期,5ms发送一条报文,每个CAN发送周期为100ms
        {
          case 0:    // //  0x1F6      
CANFillFrame(&CANsendFrame2,Gateway_2.CAN_ID,Id_Standard,CAN_RTR_Data,Gateway_2.Data.Bytes,Gateway_2.DLC, 0);
          //CANSendFrame0(&CANsendFrame2);  
            break;
          case 1:     //0x620   100ms
            
            IGW_1.Data.Bits.BCM_BrakeSwitch=SP_status.Bit.BIT0;
          CANFillFrame(&CANsendFrame1,IGW_1.CAN_ID,Id_Standard,CAN_RTR_Data,IGW_1.Data.Bytes,IGW_1.DLC, 0);
         CANSendFrame0(&CANsendFrame1);
            break;

         case 2:   // 0x1F0
 CANFillFrame(&CANsendFrame3,DSCU_Cmd.CAN_ID, Id_Standard, CAN_RTR_Data,DSCU_Cmd.Data.Bytes,DSCU_Cmd.DLC,1);
         CANSendFrame4(&CANsendFrame3);
   break;
         case 3:       // BCM1_1 0x1D8   100ms
           BCM1_1.Data.Bits.BCM_FootLightErrorSt=RFootLight & FFootLight;
           CANFillFrame(&CANsendFrame1,BCM1_1.CAN_ID, Id_Standard, CAN_RTR_Data,BCM1_1.Data.Bytes,BCM1_1.DLC, 1);
         CANSendFrame4(&CANsendFrame1);
           break;
         case 4:     // 0x1D2
            CANFillFrame(&CANsendFrame2,DDCU_3.CAN_ID, Id_Standard, CAN_RTR_Data,DDCU_3.Data.Bytes,DDCU_3.DLC,1);
         CANSendFrame4(&CANsendFrame2);  
           break;
         case 5:    //0x82   100ms       
         CANFillFrame(&CANsendFrame3,PassiveStartCheck_PEPS.CAN_ID, Id_Standard, CAN_RTR_Data,PassiveStartCheck_PEPS.Data.Bytes,PassiveStartCheck_PEPS.DLC,1);
         CANSendFrame4(&CANsendFrame3);  //0x82 
           break;
         case 6:     // 0x192
            CANFillFrame(&CANsendFrame2,PEPS_TyreInformation.CAN_ID, Id_Standard, CAN_RTR_Data,PEPS_TyreInformation.Data.Bytes,PEPS_TyreInformation.DLC,1);
         CANSendFrame4(&CANsendFrame2); 
           break;   
          case 7:   //0x1DC  100ms
           BCM2_1.Data.Bits.BCM_BrakeSwitch=SP_status.Bit.BIT0;
           CANFillFrame(&CANsendFrame1,BCM2_1.CAN_ID, Id_Standard, CAN_RTR_Data,BCM2_1.Data.Bytes,BCM2_1.DLC, 1);
         CANSendFrame4(&CANsendFrame1);
           break;  
         case 8:     // 0x190
         CANFillFrame(&CANsendFrame2,PEPS_TyreStauts.CAN_ID, Id_Standard, CAN_RTR_Data,PEPS_TyreStauts.Data.Bytes,PEPS_TyreStauts.DLC,1);
         CANSendFrame4(&CANsendFrame2);      
          break;  
          case 9:     // //0x1D0  100ms
         CANFillFrame(&CANsendFrame3,PEPS_1.CAN_ID, Id_Standard, CAN_RTR_Data,PEPS_1.Data.Bytes,PEPS_1.DLC,1);
         CANSendFrame4(&CANsendFrame3);
           break; 
          
         case 10:     //0x1E6:
           CANFillFrame(&CANsendFrame1,DDCU_2.CAN_ID, Id_Standard, CAN_RTR_Data,DDCU_2.Data.Bytes,DDCU_2.DLC,1);
        CANSendFrame4(&CANsendFrame1);
            break;
         case 11:   // 0x1E8:
           CANFillFrame(&CANsendFrame1,PDCU_1.CAN_ID, Id_Standard, CAN_RTR_Data,PDCU_1.Data.Bytes,PDCU_1.DLC,1);
         CANSendFrame4(&CANsendFrame1);
           break;
         case 12:       // 0x1EA:
          CANFillFrame(&CANsendFrame3,PDCU_2.CAN_ID, Id_Standard, CAN_RTR_Data,PDCU_2.Data.Bytes,PDCU_2.DLC,1);
         CANSendFrame4(&CANsendFrame3);
           break;
         case 13:     // 0x1EC:
           CANFillFrame(&CANsendFrame3,RLDCU_1.CAN_ID, Id_Standard, CAN_RTR_Data,RLDCU_1.Data.Bytes,RLDCU_1.DLC,1);
          CANSendFrame4(&CANsendFrame3);
           break;
         case 14:    //0x1EE:
           CANFillFrame(&CANsendFrame3,RRDCU_1.CAN_ID, Id_Standard, CAN_RTR_Data,RRDCU_1.Data.Bytes,RRDCU_1.DLC,1);
         CANSendFrame4(&CANsendFrame3);
           break;
         case 15:    

   CANFillFrame(&CANsendFrame1,Gateway_3.CAN_ID, Id_Standard, CAN_RTR_Data,Gateway_3.Data.Bytes,Gateway_3.DLC, 0);
          CANSendFrame0(&CANsendFrame1);
           break;   
          case 16:   //0x29A
 CANFillFrame(&CANsendFrame2,DVD_2.CAN_ID, Id_Standard, CAN_RTR_Data,DVD_2.Data.Bytes,DVD_2.DLC, 0);
         CANSendFrame0(&CANsendFrame2);

           break;  
  
          case 17:     // /// 0x1E4:
           CANFillFrame(&CANsendFrame4,DDCU_1.CAN_ID, Id_Standard, CAN_RTR_Data,DDCU_1.Data.Bytes,DDCU_1.DLC,1);
         CANSendFrame4(&CANsendFrame4);
           break;           
          default:break;
        }  
注:CANSendFrame0()是采用CAN的第0通道发送   CANSendFrame4是采用CAN的第四通道发送报文
 
 
我知道答案 目前已有6人回答
回复

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2013-9-26 17:47:47 | 显示全部楼层

回复:MC9S12XDP512的CAN无法同时发送多条报文

感谢您的提问,您的问题很专业,建议您发邮件到support@freescale.com,那里有很多这方面的专家!希望能帮到您!
回复 支持 反对

使用道具 举报

该用户从未签到

8

主题

35

帖子

0

新手上路

Rank: 1

积分
92
最后登录
1970-1-1
 楼主| 发表于 2013-9-27 09:55:48 | 显示全部楼层

回复:MC9S12XDP512的CAN无法同时发送多条报文

回复第 2 楼 于2013-09-26 17:47:47发表:
感谢您的提问,您的问题很专业,建议您发邮件到support@freescale.com,那里有很多这方面的专家!希望能帮到您! 

这个邮件是中文的还是英文的发送呢??
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2013-9-27 10:18:26 | 显示全部楼层

回复:MC9S12XDP512的CAN无法同时发送多条报文

建议您最好用英文的,因为这个邮箱是飞思卡尔全球的支持,一定会找出对您这方面最懂的工程师为您解决,如果您写中文,那么就受局限了,因为国外的大牛看不懂,哈哈
回复 支持 反对

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2013-9-27 16:18:27 | 显示全部楼层

    RE:MC9S12XDP512的CAN无法同时发送多条报文

    建议仿真一下出问题的时候,CAN1寄存器的状态,尤其是状态寄存器。先确定目前处于什么情况。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    318

    帖子

    0

    高级会员

    Rank: 4

    积分
    880
    最后登录
    2018-2-27
    发表于 2016-8-18 19:59:33 | 显示全部楼层
    单步运行,看看                  
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    318

    帖子

    0

    高级会员

    Rank: 4

    积分
    880
    最后登录
    2018-2-27
    发表于 2016-8-18 20:02:22 | 显示全部楼层
    看看                                   
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-8-2 14:49 , Processed in 0.095436 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表