两块板子CAN通信的问题,原子哥能不能帮我分析下原因

2019-07-21 07:20发布


  我在用一块103RC板跟战舰板通信做CAN通信实验,那块板的代码基本上是拷过去的,CAN引脚都是PA11 PA12.把103RC那块板的CAN设置成回环模式的时候发送数据战舰板能收到,但是设置成正常模式时就收不到了。用示波器看TX RX之间也没有波形。代码就不贴了,基本上没改。困扰很久了,希望有人能帮帮我 谢谢。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
24条回答
huangxiaowei
1楼-- · 2019-07-22 19:12
哈哈 
原来是CAN芯片的问题。1050接的3.3V,能发送了。但是还是收不到。
正点原子
2楼-- · 2019-07-23 00:18
回复【14楼】huangxiaowei:
---------------------------------
接回5V就OK了?
huangxiaowei
3楼-- · 2019-07-23 02:32
 精彩回答 2  元偷偷看……
正点原子
4楼-- · 2019-07-23 02:46
吼吼...
huangxiaowei
5楼-- · 2019-07-23 04:51
接收也可以了。移植你的代码,删掉两个#IF  #ENDIF就能进中断了。
谢谢站长一直在回复。祝你们越做越好
huangxiaowei
6楼-- · 2019-07-23 07:13
回复【17楼】正点原子:
---------------------------------
站长大哥 
再请教个问题?你的例程里面的接收中断没有清除中断标志的?
#if CAN_RX0_INT_ENABLE //妏夔RX0笢剿
//笢剿督昢滲杅     
void USB_LP_CAN1_RX0_IRQHandler(void)
{
   CanRxMsg RxMessage;
int i=0;
    CAN_Receive(CAN1, 0, &RxMessage);
for(i=0;i<8;i++)
printf("rxbuf[%d]:%d ",i,RxMessage.Data);
}
#endif
发现程序会卡在这里 一直进接收中断,为什么你的例程不会出现这样的情况呢???

一周热门 更多>