MCP2515+1050 51实现CAN通信 诡异情况~

2020-01-25 15:26发布

用两根杜邦线接在一起,通信正常;两根比较长的导线(>1m)就不行了。不知道为什么啊???谁碰到过这情况???
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
caicai2317
1楼-- · 2020-01-25 21:20
这是什么情况?有新发现吗
qjs412_avr
2楼-- · 2020-01-26 02:50
 精彩回答 2  元偷偷看……
iop
3楼-- · 2020-01-26 02:58
对,加个120的电阻在H和L之间再试试
aaa879771245
4楼-- · 2020-01-26 04:58
iop 发表于 2013-5-27 08:26
对,加个120的电阻在H和L之间再试试

本来就有120欧电阻啊,不行。而且只接CANH一根线可以通信,再接上CANL就不行了。但是两根线分开接(就是把两根线分离,不在一根总线中)没问题,用的双绞线按理说没问题啊~外边的屏蔽线接地不能通信,接5V电源没事~晕死
aaa879771245
5楼-- · 2020-01-26 08:19
程序简要思路
//从机程序
void main()
{
  Init2515();
  Init_Cpu();//中断初始化

  while(1)
  {
          if(!key) //这里我直接接的地,所以应该一直在发送
        {
                CAN_Send_anylength(inbuf1,8);
        }
  }
}
//主机程序
void main()
{

  Init2515();
  Init_Cpu();
  init();
  while(1)
  {
    if(gRXFlag)
    {
          CAN_Receive_DLC(a);
          gRXFlag=0;
          ID=SPIByteRead(RXB0SIDH);
         if(ID==5)
         {
                  CAN_Receive_DLC(a);
         }
    }  
  }
}
shuidianwuzhe
6楼-- · 2020-01-26 13:21
aaa879771245 发表于 2013-5-28 19:52
程序简要思路
//从机程序
void main()

使用多少的波特率?在运行较高波特率的情况下CAN收发器的RS引脚直接接地。

一周热门 更多>