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

[求助]MC9S12XDP512上的两个can节点通信的问题!

[求助]MC9S12XDP512上的两个can节点通信的问题!

工程使用了PE,CAN0和CAN1两个节点在自测模式下分别都好用,但是把它们接到一起,进行通信的时候,接收端就接受不到数据,发送端的发送错误计数器的数值一直在增加。
刚接触这个芯片,不知道错误会出现在什么地方,恳请高手指点。
下面是设置发送缓冲区和发送中断服务程序的代码:
void set_data_CAN0() {

byte flag;
flag=getReg8(CAN0TFLG);
CAN0TBSEL=flag;

CAN0TXIDR0=0X00; /*设置id全0*/
CAN0TXIDR1=0X18;
CAN0TXIDR2=0X00;
CAN0TXIDR3=0X00;
CAN0TXDSR0=0X01; /*数据段共8字,数据桢*/
CAN0TXDSR1=0X01;
CAN0TXDSR2=0X01;
CAN0TXDSR3=0X01;
CAN0TXDSR4=0X01;
CAN0TXDSR5=0X01;
CAN0TXDSR6=0X01;
CAN0TXDSR7=0X01;
CAN0TXDLR =0X08; /*数据段长度为8*/
CAN0TXTBPR=0X00;


setReg8(CAN0TIER, 7); //开发送中断
CAN0TFLG = CAN0TBSEL;
}


ISR(CAN0_transmite)
{
/* Write your interrupt code here ... */

CAN0TFLG = CAN0TBSEL;
setReg8(CAN0TIER, 0); //关闭发送中断

}



CAN的初始化由PE自动完成的,那我在初始化的寄存器设置上应该注意什么问题呢?会不会是寄存器设置的问题呢?




这是寄存器的设置,请大虾帮忙看一下
[upload=image/bmp]uploadImages/QQ截图未命名.bmp[/upload][upload=image/bmp]uploadImages/QQ截图未命名0.bmp[/upload]
..................

canopen协议

我也在做CAnopen协议的,,有谢问题想一起研究一下。。我QQ84156119
返回列表