求助....关于STM32F103C8T6的CAN通信

2019-07-21 06:33发布

本帖最后由 陌尘 于 2018-12-17 18:50 编辑

我们做了个板子,主控用的STM32F103C8T6,然后把程序下进去之后与阿波罗板用CAN通信,但是通信不通....
然后我把程序下到精英板上,就可以和阿波罗板通信成功...
波特率配的是500Kbps,CAN用的原子老师的库,程序如下:

[mw_shl_code=c,true]
#include "sys.h"
#include "delay.h"
#include "can.h"
#include "usart.h"

u8 CAN_RX_BUF[8];
u8 CAN_TX_BUF[8] = {1,2,3,4,5,6,7,8};

int main()
{
        SystemInit();
        delay_init();
        uart_init(115200);
        if(CAN_Mode_Init(CAN_SJW_1tq,CAN_BS2_8tq,CAN_BS1_9tq,4,CAN_Mode_Normal))//500kbps
        {
                printf("CAN初始化失败 ");
        }        
        printf("初始化完成 ");
        while(1)
        {        
                if(Can_Send_Msg(CAN_TX_BUF,8))
                {
                        printf("发送失败 ");
                }else printf("发送成功 ");
                if(Can_Receive_Msg(CAN_RX_BUF))
                {
                        printf("接收到数据 ");
                }
                delay_ms(100);
                for(int i = 0;i<8;i++)
                {
                        CAN_TX_BUF++;
                }
        }
}
[/mw_shl_code]
关于CAN的电路部分如下:
2.png 1.png

其中boot0和外部晶振的问题已经找到了,但是修复之后还是不通...请各位分析一下,问题在哪里,感激不尽...
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
正点原子
1楼-- · 2019-07-21 06:56
C8T6可以和精英板通信么?
陌尘
2楼-- · 2019-07-21 07:38
正点原子 发表于 2018-12-18 01:47
C8T6可以和精英板通信么?

也不行啊...
陌尘
3楼-- · 2019-07-21 07:41
正点原子 发表于 2018-12-18 01:47
C8T6可以和精英板通信么?

原子老师,我把120欧的电阻给拆了就可以了,这是为什么?
slsdz
4楼-- · 2019-07-21 10:30
 精彩回答 2  元偷偷看……
zml13917492379
5楼-- · 2019-07-21 14:21
本帖最后由 zml13917492379 于 2018-12-23 15:47 编辑

断  电  测下  CAN 2线的 电阻,是不是 在 60欧左右

推荐选用2X2X0.5mm^2多股屏蔽双绞线(4芯对绞)(大于0.5mm^2 的线更好,见上表),红黑供电,在通信线中间抽出的的接线处,强烈建议信号线及屏蔽层不能中间剪断,接好线后,用热缩套管及绝缘胶布做好隔离、绝缘保护工作,通信线2端并接 120欧的终端电阻,屏蔽层 要求 单点接地,即屏蔽层 只能在一端接地。
有空参考下这个 页面:

http://www.openedv.com/forum.php ... d=283040&extra=

一周热门 更多>