OpenEdv-开源电子网

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

CAN普通模式无法通讯

[复制链接]

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2016-3-13
在线时间
12 小时
发表于 2016-4-1 20:23:07 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 gogoedv 于 2016-4-1 20:23 编辑

F103精英版与F407探索者组网CAN通讯,各自的回环模式都正常,采用普通模式组网无法通讯。

以下是F103在原提供例子上改的代码,F407直接采用CAN例子。
[mw_shl_code=c,true]#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"         
#include "can.h"
#include "rtc.h"

int main(void)
{         
        u8 t=0;
        u8 canbuf[8];
        u16 count=0;

        delay_init();                     //延时函数初始化         
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
        uart_init(115200);                 //串口初始化为115200
        LED_Init();                                  //初始化与LED连接的硬件接口
        KEY_Init();                                //按键初始化
        RTC_Init();                                  //RTC初始化
   //CAN初始化,波特率500Kbps
        while(CAN_Mode_Init(CAN_SJW_1tq, CAN_BS2_8tq, CAN_BS1_9tq, 4, 0) != 0)
                delay_ms(10);
        printf("CAN Init OK.\n");
         while(1)
        {
                count++;
                if(count >= 500)
                {
                        canbuf[0] = calendar.w_year - 2000;
                        canbuf[1] = calendar.w_month;
                        canbuf[2] = calendar.w_date;
                        canbuf[3] = 0;
                        canbuf[4] = calendar.hour;
                        canbuf[5] = calendar.min;
                        canbuf[6] = calendar.sec;
                        canbuf[7] = 0;
                        
                 if(Can_Send_Msg(canbuf,8)==0)//发送8个字节
                 {
                         printf("%d-%d-%d %d:%d:%d \n",canbuf[0],canbuf[1],canbuf[2],canbuf[4],canbuf[5],canbuf[6]);
                         printf("Send OK.\n");
                 }
                        count=0;
                }
                t++;
                delay_ms(10);
                if(t==50)
                {
                        LED0=!LED0;//提示系统正在运行        
                        t=0;
                }
        }
}
[/mw_shl_code]

最佳答案

查看完整内容[请看2#楼]

USB/CAN的跳线帽都没跳啊。。。。 当然不能用。跳线帽搞错了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-4-1 20:23:08 | 显示全部楼层

USB/CAN的跳线帽都没跳啊。。。。
当然不能用。跳线帽搞错了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2016-3-13
在线时间
12 小时
 楼主| 发表于 2016-4-1 20:49:15 | 显示全部楼层
串口能够接受到发送提示。
1.jpg
回复

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2016-3-13
在线时间
12 小时
 楼主| 发表于 2016-4-1 20:53:12 | 显示全部楼层
接线图。
2.jpg
回复

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2016-3-13
在线时间
12 小时
 楼主| 发表于 2016-4-1 21:21:23 | 显示全部楼层
本帖最后由 gogoedv 于 2016-4-2 13:42 编辑

我改下跳线试试。
回复

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2016-3-13
在线时间
12 小时
 楼主| 发表于 2016-4-2 13:43:43 | 显示全部楼层
改了跳线就好了,谢谢。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 03:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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