标题: [求助]MC33388的MSCAN消息发送不出去~~~ [打印本页]
作者: fan7973 时间: 2006-10-30 09:31 标题: [求助]MC33388的MSCAN消息发送不出去~~~
片子是MC9S12DP256B,收发器是MC33388,现在就是想发送消息,然后在上位机接收。
16M晶振做时钟源,波特率是125K,下面是程序:
void CANInit(void) {
CAN0CTL0 = 0x01; /* 进入初始化模式
while (!(CAN0CTL1&0x01)){}; /* 等待初始化模式确认
CAN0CTL1 = 0x80; /* 使能MSCAN模块
CAN0BTR0 = 0xC7;
CAN0BTR1 = 0x3A;
CAN0IDAC = 0x10;
CAN0CTL0 = 0x00; /* Exit Initialization Mode Request */
while ((CAN0CTL1&0x01) != 0){}; /* Wait for Normal Mode */
}
void CAN_Transmit(void)
{
CAN0TBSEL= 0x01;
CAN0TXIDR0 = 0x00;
CAN0TXIDR1 = 0x08; //扩展桢
CAN0TXIDR2 = 0x00;
CAN0TXIDR3 = 0x04; //发送ID=2
CAN0TXDSR0 = 200;
CAN0TXDSR1 = 212;
CAN0TXDSR2 = 111;
CAN0TXDSR3 = 23;
CAN0TXDSR4 = 89;
CAN0TXDSR5 = 155;
CAN0TXDSR6 = 199;
CAN0TXDSR7 = 0;
CAN0TXDLR = 0x08;
CAN0TXTBPR = 0x00;
CAN0TFLG = 0x01;
}
#pragma CODE_SEG DEFAULT
void main () {
CANInit();
for (;;) {
CAN_Transmit();
}
}
运行后,测到的波形不正确。请各位指点指点
作者: fan7973 时间: 2006-10-30 09:32
这是我做的MC33388电路,是不是有什么不对的地方???
[upload=image/pjpeg]uploadImages/MC33388.jpg[/upload]
作者: fan7973 时间: 2006-10-30 17:55
自己顶一下,呵呵
作者: fan7973 时间: 2006-10-31 10:51
大家给点意见吧~~~我的电路是按照飞思卡尔MC33388文档中最简电路画的
作者: yjbmtc 时间: 2006-10-31 15:04
MC33388和82C250的作用是一样的吗?
作者: cxj16888 时间: 2006-10-31 17:22
上位机是怎样监控的,总线电阻保证60欧姆,如果上位机接收选的波特率应和发出去的相同否则不会发送成功,也就看不到波形,你也可以监控一下发送状态位。
作者: yunfeng 时间: 2006-10-31 17:28
两个收发器必须都是低速CAN的收发器
波特率可以设低点试试,62.5K
作者: fan7973 时间: 2006-10-31 17:32
回复yjbmtc :主要功能是的,不过MC33388主要是针对低速CAN总线
[此贴子已经被作者于2006-10-31 17:32:44编辑过]
作者: fan7973 时间: 2006-10-31 17:33
回复cxj16888:终端电阻120欧,波特率也设置相同了。关键在下位机板卡发不出来,示波器看不到正确的波形
作者: fan7973 时间: 2006-10-31 17:36
回复yunfeng:恩,下位机板卡是MC33388,低速的。用一个USB转CAN的模块与电脑相连,模块里用的什么收发器不太清楚。
那我把波特率设置的低些再试试吧
多谢
作者: fan7973 时间: 2006-11-6 08:59
没有调试,俺过了一个愉快的周末,呵呵
周一了,又要开始WORKING了~~~~
现在问题好象不是出在波特率的设置上,因为根本发不出来东西,CANH、CANL上都是高电平
作者: fan7973 时间: 2006-11-7 09:09
各位兄弟,救命啊~~~~~~~拜托
作者: yunfeng 时间: 2006-11-7 10:40
检查Tx 有无信号
强调:
如果收发器和物理层硬件都没弄清楚的话,就不要做CAN!
低速CAN,高速CAN,不仅速率不同,而且硬件电路也不同!!!!!!
作者: fan7973 时间: 2006-11-7 11:48
谢谢楼上的教诲。
但谁学东西都需要一个过程吧,尤其头一次用飞思卡尔的东西,难免有这样那样的问题。
CAN不是头一次做,去年用AVR和82C250做过,觉得基本通讯部分没什么难的。
这次卡住了,但我觉得很正常,调试嘛。
身边没有人能帮忙,只好到论坛求助。
作者: yunfeng 时间: 2006-11-24 11:20
把120欧的电阻去掉。如果你上位机用的是高速CAN的话,那肯定通不了。因为MC33388是低速CAN收发器,TJA1050,1041, 82C250都是高速CAN收发器。
但是两个MC33388之间是可以通讯的
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) |
Powered by Discuz! 7.0.0 |