导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→有没有做过can总线的朋友?遇到点问题想请教一下[dlm]

 *第30848篇: 有没有做过can总线的朋友?遇到点问题想请教一下

  
楼 主:dlm 2005年4月3日15:30
 有没有做过can总线的朋友?遇到点问题想请教一下
芯片初始化都没有问题了,我用自发自收模式,波特率是不是暂时就不用考虑了?
可是发送完以后,却收不到发出去的数据,怎么回事啊?sr和ir寄存器也没有错误提示。原因可能在哪里呢?匹配电阻用的是120欧姆的。
初始化程序:
int init_can()
{
 int data;
 wr_can((int*)MODE,9);
 data=rd_can((int*)MODE);
 while((data&0x1f)!=9)
    { wr_can((int*)MODE,9);
     for(data=0;data  <100;data++);
     data=rd_can((int*)MODE);
    }
 wr_can((int*)CDR,0x0c0);//扩展模式,rxinten=1,RX1无效,时钟输出无效
 wr_can((int*)IER,0x0c0);
 wr_can((int*)BTR0,0x40);//100k:44h,27h,500k:40h,26h
 wr_can((int*)BTR1,0x26);
 wr_can((int*)OCR, 0x1a); //tx0: 1Ah      通过TX1:c2h
 wr_can((int*)ACR1,0x0ff);
 wr_can((int*)AMR1,0x064);
 wr_can((int*)ACR0,0x0ff);
 wr_can((int*)AMR0,0x033);
 wr_can((int*)ACR2,0x0ff);
 wr_can((int*)AMR2,0x0ff);
 wr_can((int*)ACR3,0x0ff);
 wr_can((int*)AMR3,0x0ff);
 wr_can((int*)CMR,0x1e);
 wr_can((int*)RBSA,0);
 wr_can((int*)MODE,0x0c);
 if(rd_can((int*)MODE)==0x0c)
   {wr_can((int*)IER,0x0ff);
    return 1;             //ok
   }
 else
    return 0;             //nok
}
发送程序:
int transmit_can(int buff[])//,int length,int prior,int function)
{
  int data,addr;
  int i,start;
  data=rd_can((int*)SR);
  while ((data&0x04)==0)
    {data=rd_can((int*)SR);//busy
    }
  wr_can((int*)FFIR,buff[0]);//size 
  wr_can((int*)ID1,buff[1]);//prior
  wr_can((int*)ID2,buff[2]); //object
  wr_can((int*)ID3,buff[3]);//station,source
  wr_can((int*)ID4,buff[4]);//function
  start=0x15; 
  data=rd_can((int*)SR);
  if((data&0x04)==0x04)
    {
     for(i=0;i  <8;i++)
     { wr_can((int*)start,buff[i+5]);
     }
    }
  wr_can((int*)CMR,0x10);//这里我改为0x11也是一样的结果
  data=rd_can((int*)SR);
  while((data&0x20)==0x20)
  {data=rd_can((int*)ECC);
    data=rd_can((int*)EWLR);
   data=rd_can((int*)TXERR);
   data=rd_can((int*)SR);
  }
  return 1;
}
发送的数据为[0x88,0x33,0x64,0x99,0xff,1,2,3,4,5,6,7,8]
接收到的数据为[0x88,0x33,0x64,0x99,0xff,XXXXXXXXXX],0xff后的数据就不对了,请大侠帮忙看一下错误到底出现在哪里?
  
2楼:arron 2005年4月3日22:13
 自己订一下
  
3楼:smuxt1979 2007年3月8日11:18
 我做过
我有现成的程序和电路,如需要请联系QQ:68671835

>>>>>>对该主题发表你的看法

本主题贴数3,分页: [第1页]


[上一篇主题]:石家庄诚招PIC单片机开发人员

[下一篇主题]:求助:单片机输出电阻问题? 请大家帮帮忙