OpenEdv-开源电子网

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

发现的这个问题希望大伙看看,给评论评论。CAN~~~CAN~~~CAN~~~

[复制链接]

14

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
103
金钱
103
注册时间
2013-4-17
在线时间
0 小时
发表于 2013-10-18 16:43:07 | 显示全部楼层 |阅读模式


 #include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"
#include "timer.h"
#include "can.h" 
 
 int main(void)
 {  

 u8 canbuf[8]={0,1,2,3,4,5,6,7};
 u8 res;


 delay_init();       //延时函数初始化  
 NVIC_Configuration();   //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
 uart_init(9600);   //串口初始化为9600
 LED_Init();      //初始化与LED连接的硬件接口
 KEY_Init();    //按键初始化    
  
 CAN_Mode_Init(CAN_SJW_1tq,CAN_BS2_8tq,CAN_BS1_7tq,5,CAN_Mode_LoopBack);//CAN初始化环回模式,波特率450Kbps   
  
  while(1)
 { 
  res=Can_Send_Msg(canbuf,sizeof(canbuf));    //发送8个字节
  if(res)printf("\r\n Failed \r\n");                 //提示发送失败
  else printf("\r\n Ok \r\n");                       //提示发送成功
}

此为库函数版本测试。

此时串口是一直不成功的,那我是不是可以大胆猜测原子板子的教程中can教程是存在错误的?

我的意思是是不是Can_Send_Msg(canbuf,sizeof(canbuf));  有问题?为什么一直输出failed. 也就是 Can_Send_Msg没发送成功。

而在随后的寄存器版本测试中

#include <stm32f10x_lib.h>
#include "sys.h"
#include "usart.h"  
#include "delay.h"  
#include "can.h"  
//ALIENTEK战舰STM32开发板实验25
//CAN 实验 
//技术支持:www.openedv.com
//广州市星翼电子科技有限公司      
int main(void)
{  
 u8 key;
 u8 i=0,t=0;
 u8 cnt=0;
 u8 canbuf[8]="acdvs";
 u8 res;
 u8 mode=1;//CAN工作模式;0,普通模式;1,环回模式

  Stm32_Clock_Init(9); //系统时钟设置
 uart_init(72,9600);   //串口初始化为9600
 delay_init(72);       //延时初始化 
   
  CAN_Mode_Init(1,8,7,5,mode);//CAN初始化,波特率450Kbps   


  while(1)
 {
  res=Can_Send_Msg(canbuf,8);//发送8个字节
  if(res)
  TransChar("Failed\r\n");  //提示发送失败,自己写的程序,不影响can的发送
  else
  TransChar("Send Ok\r\n");    //提示发送成功
  memset(canbuf,0,8);   //清空 数组 看是否收到了数据
  delay_ms(300);
  

TransChar("Receive Data:\r\n");
  key=Can_Receive_Msg(canbuf);
  if(key)//接收到有数据
  {
  TransChar(canbuf); 
  TransChar("\r\n");
  TransChar("Receive OK!\r\n");
  }
  else
  TransChar("Receive Failed\r\n");
  delay_ms(300);  
 
}

此时测试是正确的。串口显示能收到Send Ok和Receive OK。

我是个初学者,并不是有意找茬,只是在学习中存在疑惑,请大家不要喷我。并没有恶意。

 

 

 

 

 

 

 

 

 

           

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

使用道具 举报

42

主题

173

帖子

0

精华

高级会员

Rank: 4

积分
549
金钱
549
注册时间
2013-6-18
在线时间
59 小时
发表于 2013-10-18 16:58:09 | 显示全部楼层
回复【楼主位】铅笔头:
---------------------------------
楼主逗,有错误还敢拿出来卖。
只为摆正你的倒影,我倾倒了整个世界。
回复 支持 反对

使用道具 举报

14

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
103
金钱
103
注册时间
2013-4-17
在线时间
0 小时
 楼主| 发表于 2013-10-18 17:38:36 | 显示全部楼层
回复【2楼】菜鸟鸡哥:
---------------------------------
哪里错了??请指教。呵呵。我真是不太懂。谢谢
回复 支持 反对

使用道具 举报

1

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2013-10-1
在线时间
0 小时
发表于 2013-10-18 19:06:30 | 显示全部楼层
CAN不同于串口通信,至少需要两个节点才能正常工作!单节点发送会应答错误(ack error)!楼主的CAN网络上是否只有一个节点?
回复 支持 反对

使用道具 举报

14

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
103
金钱
103
注册时间
2013-4-17
在线时间
0 小时
 楼主| 发表于 2013-10-18 19:24:21 | 显示全部楼层
回复【4楼】萧狼1989:
---------------------------------
两个节点是要连接两个单元么??不是很懂,刚开始做的CAN实验。谢谢您啊
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-18 20:54:56 | 显示全部楼层
这个,库函数你用最新代码,老版本的,可能有个bug,具体我忘记了。你下载下最新的例程,测试下。
代码下载地址:http://www.openedv.com/posts/list/13912.htm?fromAll=0
另外,CAN你可以看看我们的教程,比较详细了,呵呵。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

14

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
103
金钱
103
注册时间
2013-4-17
在线时间
0 小时
 楼主| 发表于 2013-10-18 22:26:33 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
原子哥,给的地址不对啊。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-18 23:48:51 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

36

主题

1263

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1612
金钱
1612
注册时间
2012-6-15
在线时间
39 小时
发表于 2013-10-21 10:45:46 | 显示全部楼层
CAN总线
如果总线只有一个节点 就是你只有一块板子的话, 肯定是发送失败!

需要至少有两个 点同时在总线上,才可以
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-10 08:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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