标题:
XEP100MAG用PE生成的CAN通讯
[打印本页]
作者:
hynh
时间:
2012-5-3 22:43
标题:
XEP100MAG用PE生成的CAN通讯
用PE生成的程序,用定时器每200ms周期发送数据,遇到下面几个问题,麻烦各位大侠指教:
1、自动生成的CAN程序中的byte CAN1_SendFrameExt(dword MessageID,byte FrameType,byte Length,const byte *Data)函数是发送扩展帧数据的,但是为什么在函数中会有标准帧的判断:
if (((MessageID & CAN_EXTENDED_FRAME_ID) == CAN_EXTENDED_FRAME_ID) && ((MessageID & CAN_EXTENDED_FRAME_MASK) != 0U)) { /* Is the extended ID greater that 536870911? */
return ERR_VALUE; /* If yes then error */
}
这个函数导致程序无法运行,此处有何用呢?
2、删除上述语句,函数运行到
if ((CAN0TFLG & 0x07U) == 0U) { /* Are all transmit buffers full? */
ExitCritical(); /* Enable global interrupts */
return ERR_TXFULL; /* If yes then error */
}
报发送缓冲器溢出故障,接收到错误帧?
附件是程序,麻烦大侠指教一下要如何修改程序,谢谢!
附件:
CAN.rar
(2012-5-3 22:43, 675.43 KB) / 下载次数 409
http://bbs.eccn.com/attachment.php?aid=19803&k=d1634c1799d4948427b08391a6214f83&t=1732278898&sid=acO6o6
作者:
乔布斯的同学
时间:
2012-7-9 21:02
遇到同样的问题,返回ERR_TXFULL错误,err=11
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0