搜索
bottom↓
回复: 1

请教XS128MAL的CAN接收问题(已解决)

[复制链接]

出0入0汤圆

发表于 2014-2-7 16:19:44 | 显示全部楼层 |阅读模式
本帖最后由 FSL_TICS_ZP 于 2014-3-4 13:11 编辑

我正在编写一个检测仪表,传感器探头发出的是CAN消息,软件环境是CW+PE。之前做过的测试程序还挺正常,当我正式编写程序的时候遇到了问题:我想实时检测CAN接收标志位,目的是间接监测我的传感器硬件是否正常连线。我每次读完CAN0RFLG_RXF(定时中断0.25s执行一次)以后都主动重新给它置位,可是我发现无论是否插入传感探头,都会进入读标错误累加,不走正常分支。
另,我怀疑该错误的出现存在三种可能性:1、我曾经使用PE自动初始化CAN模块,但一直报错;后联系了freescale的SAE,给我一个license,但还是存在错误。于是CAN部分我自己配置了寄存器,现在我依然怀疑是软件权限的问题(codewarrior锁了CAN部分)。
2、每次清标志位前必须读出数据帧,只读标志位是无效操作?我正在确认该种情况。
3、我的程序思路本身存在问题。
期待高手解答我的困惑,共同交流!

如下是我的相关程序段:

while(CAN_Wait_Flag)                                   //检测循环,正常情况下探头每1s上传一次数据
    {
        if(CAN_check_flag)                                 //定期执行CAN信号检测,CAN_check_flag来自定时中断
           {
              if(CAN0RFLG_RXF)
              {
                CAN_error=0;                               //收到信号即时清零
              }
              else
              {
                CAN_error++;                              
              }
              CAN_check_flag=0;
             CAN0RFLG_RXF=1;                              //清标志位
           }
      if(CAN_error>8)                                   //连续丢失8次信号判断为CAN信号丢失,程序从头开始执行
      {
        Display(tab8);//
        Cpu_Delay100US(30000);//

        CAN_Wait_Flag=0;                                 //退出检测循环
        CAN_Receive_Error=1;                              //略过报文解析环节
      }
      if(timer>24)                                 //正常等待期间,0.25s累加一次,程序正常向下执行
      {
      Display(tab9);//
      Cpu_Delay100US(30000);//
       timer=0;
       CAN_error=0;
       CAN_Wait_Flag=0;
      }
    }     

出0入0汤圆

发表于 2014-2-7 17:22:21 | 显示全部楼层
你好,请问你用的PE里面是否带有CAN 模块的典型应用,你可以通过选中CAN模块,右击help查看。如果有,建议你先按照典型应用程序配置与调试。
一般情况下,CW是不会对部分模块进行限制的,如果有license,应该是都可以使用的。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-2 09:52

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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