OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2898|回复: 5

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

[复制链接]

10

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
304
金钱
304
注册时间
2017-5-18
在线时间
56 小时
发表于 2018-12-17 18:50:47 | 显示全部楼层 |阅读模式
20金钱
本帖最后由 陌尘 于 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初始化失败\r\n");
        }        
        printf("初始化完成\r\n");
        while(1)
        {        
                if(Can_Send_Msg(CAN_TX_BUF,8))
                {
                        printf("发送失败\r\n");
                }else printf("发送成功\r\n");
                if(Can_Receive_Msg(CAN_RX_BUF))
                {
                        printf("接收到数据\r\n");
                }
                delay_ms(100);
                for(int i = 0;i<8;i++)
                {
                        CAN_TX_BUF++;
                }
        }
}
[/mw_shl_code]
关于CAN的电路部分如下:
2.png 1.png

其中boot0和外部晶振的问题已经找到了,但是修复之后还是不通...请各位分析一下,问题在哪里,感激不尽...

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-12-18 01:47:40 | 显示全部楼层
C8T6可以和精英板通信么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

10

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
304
金钱
304
注册时间
2017-5-18
在线时间
56 小时
 楼主| 发表于 2018-12-18 10:56:27 | 显示全部楼层
正点原子 发表于 2018-12-18 01:47
C8T6可以和精英板通信么?

也不行啊...
回复

使用道具 举报

10

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
304
金钱
304
注册时间
2017-5-18
在线时间
56 小时
 楼主| 发表于 2018-12-18 11:35:04 | 显示全部楼层
正点原子 发表于 2018-12-18 01:47
C8T6可以和精英板通信么?

原子老师,我把120欧的电阻给拆了就可以了,这是为什么?
回复

使用道具 举报

0

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
430
金钱
430
注册时间
2016-3-17
在线时间
95 小时
发表于 2018-12-18 12:15:21 | 显示全部楼层
两块板测试都要有终端电阻,组网遵循以下规则
在一个网络(由一组电缆直接连接)内有且只有2个终端电阻.
加在直线拓扑结构的距离最远的两个端点.
回复

使用道具 举报

13

主题

272

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
5390
金钱
5390
注册时间
2017-8-14
在线时间
249 小时
发表于 2018-12-21 09:31:29 | 显示全部楼层
本帖最后由 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=
详细资料扣扣群204408503自行下载
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-22 17:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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