OpenEdv-开源电子网

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

关于MINI板和战舰板的CAN通信问题(求原子哥和大神)

[复制链接]

10

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2014-1-14
在线时间
0 小时
发表于 2014-3-22 19:48:15 | 显示全部楼层 |阅读模式
我的是原子哥的mini板,今天自己焊了一个jga1050的芯片和战舰的板子通信。我将战舰的程序移植到了mini板上,和战舰进行CAN通信,可是实验时发现,回环模式都是正常的,但是在正常模式时,不能通信,请问,有没有做过类似实验的高人,告诉我移植时,哪里还要修改(我只改了显示的部分)。
以下是mini板的程序,

#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"
#include "lcd.h"
#include "spi.h"
#include "flash.h"
#include "mmc_sd.h"
#include "ff.h"
#include "integer.h"
#include "diskio.h"
#include "text.h"
#include "24cxx.h"
#include "fontupd.h"
#include "24l01.h"
#include "ds18b20.h"
#include "can.h" 
int main(void)
 {  
u8 key;
u8 i=0,t=0;
u8 cnt=0;
u8 canbuf[8];
u8 res;
u8 mode=CAN_Mode_LoopBack;//CAN?¤×÷????;CAN_Mode_Normal(0)?????¨??????CAN_Mode_LoopBack(1)???·??????
delay_init(72);     //???±??????????  
NVIC_Configuration(); //?è??NVIC????·?×é2:2??????????????2???ì????????
uart_init(9600); //????????????9600
LED_Init();   //????????LED??????????????
LCD_Init();   //??????LCD
KEY_Init(); //°??ü??????
   
CAN_Mode_Init(CAN_SJW_1tq,CAN_BS2_8tq,CAN_BS1_7tq,5,CAN_Mode_LoopBack);//CAN???????·??????,?¨????450Kbps    

  POINT_COLOR=RED;//?è??×??????ì?? 
LCD_ShowString(60,50,"WarShip STM32");
LCD_ShowString(60,70,"CAN TEST");
LCD_ShowString(60,90,"ATOM@ALIENTEK");
LCD_ShowString(60,110,"2012/9/11");
LCD_ShowString(60,130,"LoopBack Mode");  
LCD_ShowString(60,150,"KEY0:Send WK_UP:Mode");//?????á??????
  POINT_COLOR=BLUE;//?è??×?????????  
LCD_ShowString(60,170,"Count:"); //?????±?°??????
LCD_ShowString(60,190,"Send Data:"); //?á??·?????????
LCD_ShowString(60,250,"Receive Data:"); //?á??????????????
  while(1)
{
     if(KEY0 == 0)
{
  delay_ms(10);//?????? 
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
     if(KEY0 == 0)
{
for(i=0;i<8;i++)
{
canbuf=cnt+i;//????·?????????
if(i<4) LCD_ShowNum(60+i*32,210,canbuf,3,16); //????????
else    LCD_ShowNum(60+(i-4)*32,230,canbuf,3,16); //????????
  }
res=Can_Send_Msg(canbuf,8);//·???8??×??? 
if(res)LCD_ShowString(60+80,190,"Failed"); //?á??·????§°?
else LCD_ShowString(60+80,190,"OK    "); //?á??·???????
}

     }
if(KEY1 == 0)
{
delay_ms(100);//?????? 
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
if(KEY1 ==0)
{
      mode=!mode;
CAN_Mode_Init(CAN_SJW_1tq,CAN_BS2_8tq,CAN_BS1_7tq,5,mode);//CAN???¨??????????, ?¨????450Kbps 
POINT_COLOR=RED;//?è??×??????ì?? 
if(mode == 0)     
LCD_ShowString(60,130,"Nnormal Mode ");
      else
LCD_ShowString(60,130,"LoopBack Mode ");
     }
    }
 
key=Can_Receive_Msg(canbuf);
if(key)//????????????
{
      LED0=0;
//LCD_Fill(60,270,130,310,WHITE);//???????°??????
  for(i=0;i<key;i++)
{    
if(i<4) LCD_ShowNum(60+i*32,270,canbuf,3,16);//??????????  
else   LCD_ShowNum(60+(i-4)*32,290,canbuf,3,16); //????????
  }
}
t++; 
delay_ms(10);
if(t==20)
{
t=0;
cnt++;
LCD_ShowNum(60+48,170,cnt,2,16); //????????
}   
}
}

求大神指点呀1

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-3-22 23:04:03 | 显示全部楼层
回复【楼主位】pc__小强:
---------------------------------
你确定电路没有问题了?
板子焊接好了?
连线有没有接错?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

10

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2014-1-14
在线时间
0 小时
 楼主| 发表于 2014-3-23 07:56:53 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
谢原子哥了,是战舰板子上的跳线帽没有连接。
回复 支持 反对

使用道具 举报

4

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
87
金钱
87
注册时间
2012-10-30
在线时间
6 小时
发表于 2014-11-13 17:00:32 | 显示全部楼层
能把你的程序发我看看么?Q:1065517485,非常感谢
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-29 04:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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