当前位置: 技术问答>linux和unix
关于powerpc(mpc8319)不能跟其它主机can通讯问题:
来源: 互联网 发布时间:2017-05-22
本文导语: 小弟最近接手 mpc8309,其can通信遇到了问题: 相同的两块MPC88309 进行can通讯,没有问题,相同的两块arm板之间can通讯也没有问题,但是mpc8309与arm不能进行can通讯,其中,arm板是公司经过现场验证的, mpc8309 和arm...
小弟最近接手 mpc8309,其can通信遇到了问题:
相同的两块MPC88309 进行can通讯,没有问题,相同的两块arm板之间can通讯也没有问题,但是mpc8309与arm不能进行can通讯,其中,arm板是公司经过现场验证的, mpc8309 和arm上用的测试程序是一样的,就是用各自的交叉编译器编译了一下。
mpc8309当arm给发数据时,能检测到中断,但是报错误。
测试程序是socketcan测试,简单的几步(只贴主要的步骤):
int main(int argc, char **argv)
{
int s; /* can raw socket */
int nbytes, ret;
struct sockaddr_can addr;
struct can_frame frame, rframe;
struct ifreq ifr;
int i;
/* check command line options */
if ((argc != 2) && (argc != 3)) {
fprintf(stderr, "Usage: send frame: %s .n", argv[0]);
fprintf(stderr, "Usage: receive frame: %s .n", argv[0]);
return 1;
}
/* open socket */
if ((s = socket(PF_CAN, SOCK_RAW, CAN_RAW))
相同的两块MPC88309 进行can通讯,没有问题,相同的两块arm板之间can通讯也没有问题,但是mpc8309与arm不能进行can通讯,其中,arm板是公司经过现场验证的, mpc8309 和arm上用的测试程序是一样的,就是用各自的交叉编译器编译了一下。
mpc8309当arm给发数据时,能检测到中断,但是报错误。
测试程序是socketcan测试,简单的几步(只贴主要的步骤):
int main(int argc, char **argv)
{
int s; /* can raw socket */
int nbytes, ret;
struct sockaddr_can addr;
struct can_frame frame, rframe;
struct ifreq ifr;
int i;
/* check command line options */
if ((argc != 2) && (argc != 3)) {
fprintf(stderr, "Usage: send frame: %s .n", argv[0]);
fprintf(stderr, "Usage: receive frame: %s .n", argv[0]);
return 1;
}
/* open socket */
if ((s = socket(PF_CAN, SOCK_RAW, CAN_RAW))
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!