首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]can口问题,请高手指点

[求助]can口问题,请高手指点

Cc我用9S12DT128用CAN4发给CAN0,到老接收不到。自检模式又可以。(自发自收)。那位高人指点一下。程序如下:

///////////////////////////////////////////CAN初始化
void CAN_init(){
CAN0CTL0_INITRQ=1;
CAN4CTL0_INITRQ=1;
while((CAN0CTL1_INITAK==0)&&(CAN4CTL1_INITAK==0)) ;
CAN0IDAC=0X20;
CAN4IDAC=0X20;
CAN0IDMR0=0XFF;
CAN0IDMR1=0XFF;
CAN0IDMR2=0XFF;
CAN0IDMR3=0XFF;
CAN0IDMR4=0XFF;
CAN0IDMR5=0XFF;
CAN0IDMR6=0XFF;
CAN0IDMR7=0XFF;
CAN4IDMR0=0XFF;
CAN4IDMR1=0XFF;
CAN4IDMR2=0XFF;
CAN4IDMR3=0XFF;
CAN4IDMR4=0XFF;
CAN4IDMR5=0XFF;
CAN4IDMR6=0XFF;
CAN4IDMR7=0XFF;
CAN0BTR0=0X40;
CAN4BTR0=0X40;
CAN0BTR1=0X3F;
CAN4BTR1=0X3F;
CAN0CTL1=0X80;
CAN4CTL1=0X80;
CAN0CTL0_INITRQ=0;
CAN4CTL0_INITRQ=0;
while((CAN0CTL1_INITAK==1)&&(CAN4CTL1_INITAK==1));
CAN0RIER_RXFIE=1;
}

///////////////////////////发送
void CAN4_TX(){
uchar i;
i=CAN4TFLG;
CAN4TBSEL=i;
i=CAN4TBSEL;
CAN4TXIDR1=0X01;
CAN4TXIDR2=0X00;
CAN4TXDSR0=1;
CAN4TXDSR1=2;
CAN4TXDSR2=3;
CAN4TXDSR3=4;
CAN4TXDSR4=5;
CAN4TXDSR5=6;
CAN4TXDSR6=7;
CAN4TXDSR7=8;

CAN4TXDLR=8;
CAN4TFLG=i;
}


////////////////////////////中断接收
void interrupt 38 CAN0_RX(void){

CAN0CTL0_RXFRM=1;
rx[0]=CAN0RXDSR0;
rx[1]=CAN0RXDSR1;
rx[2]=CAN0RXDSR2;
rx[3]=CAN0RXDSR3;
rx[4]=CAN0RXDSR4;
rx[5]=CAN0RXDSR5;
rx[6]=CAN0RXDSR6;
rx[7]=CAN0RXDSR7;
CAN0RFLG=0X01;
}



void main(void) {

CAN_init();

CAN4_TX();

for(;;) {}}

速率不匹配

/********** 飞思卡尔交流QQ群:82738157 ************/
检查一下位速率是否匹配,

我的速率设置如下:

CAN0BTR0=0X40;
CAN4BTR0=0X40;
CAN0BTR1=0X3F;
CAN4BTR1=0X3F;

应该是一致的啊

开总中断

/********** 飞思卡尔交流QQ群:82738157 ************/
总中断开了,我贴子上没写出来。而且自发自收能进入中断的。
拿can分析仪看一下
/********** 飞思卡尔交流QQ群:82738157 ************/

和我现在遇到的问题差不多,高手出来江湖救急下啊

can分析仪收不道……

检查一下引脚配置,用示波器看一下引脚上有没有信号输出。

海纳百川  有容乃大
TXCAN引脚上有信号输出,经过2551输出的CANH和CANL连接到can分析仪上未能收到......
学习中 谢谢分享
返回列表