Board logo

标题: 请问can的问题 [打印本页]

作者: bluesea_07@163.    时间: 2005-10-9 09:37     标题: 请问can的问题

void MSCAN0Trans(byte * msgout){
  .
  .
  .
if (CAN0TXDSR4 != 0xff){
*ID = 0x11;
*(ID+1) = 0xff;
*(ID+2) = 0xff;
*(ID+3) = 0xFE;
//SCI0_TRAN_MSCAN(ID,msgout,0);
}

CAN0TFLG = cansel; /*clearing TxE to lauch transmission*/

PTM_PTM2 = 1;
time_delay_can();
PTM_PTM2 = 0;
}
请问在这个函数里,if (CAN0TXDSR4 != 0xff)这句是什么意思呢,PTM_PTM2 又是什么呢。为什么要time_delay_can()做延时。如果没有这个延时会怎么样
作者: xiaoxiaoer    时间: 2005-10-9 11:26

我不太清楚这段程序用的芯片类型.姑且以我的理解说一下吧,希望有高手指正.
PTM_PTM2应该是一个IO口的管脚,在它高低电平变化中间加上时间延迟函数(time_delay_can())是为了观察到这个变化.
CAN0TXDSR4估计是一个标志位吧,和CAN口的寄存器有关吧?
看程序需要和硬件相结合,这样容易明白,尤其是一些外围设备.
作者: bluesea_07@163.    时间: 2005-10-9 11:38

芯片mc9s12dt128
作者: bluesea_07@163.    时间: 2005-10-9 11:44

谢谢你啊,我看到了,PTM_PTM2是can的端口




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0