查看: 2418|回复: 3

[S12] S12 can总线

[复制链接]

该用户从未签到

2

主题

6

帖子

0

新手上路

Rank: 1

积分
18
最后登录
1970-1-1
发表于 2013-6-27 11:04:09 | 显示全部楼层 |阅读模式
用一个s12xs做can发送端,连接can收发器。在调程序的时候就进入者个死循环了。   是不是必须连接接收端才能将缓冲区内容发送??
 
 
    //寻找空闲缓冲区
     txEmptyBuf = 0;
     do 
     {
        CAN0TBSEL = CAN0TFLG;
        txEmptyBuf = CAN0TBSEL;
     }
     while (!txEmptyBuf);
我知道答案 目前已有2人回答
回复

使用道具 举报

该用户从未签到

0

主题

18

帖子

0

新手上路

Rank: 1

积分
36
最后登录
1970-1-1
发表于 2013-6-27 15:55:31 | 显示全部楼层

回复:S12 can总线

 必须要连接接收端才可以的。因为CAN协议规定,数据帧有应答场这一部分,接收方接收到以后,会发送应答信号,表示数据正确接受;发送方如果没有收到应答,就会重复发送。因此如果不接接收端,永远收不到应答信号,所以那3个发送缓存永远不可用,对应的bit也是0,就会一直陷入死循环。
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

15

帖子

0

新手上路

Rank: 1

积分
28
最后登录
1970-1-1
发表于 2013-7-3 14:01:19 | 显示全部楼层

RE:S12 can总线

不连接收端的时候怎么处理?进行中止请求行不行?
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

18

帖子

0

新手上路

Rank: 1

积分
36
最后登录
1970-1-1
发表于 2013-7-5 16:22:20 | 显示全部楼层

回复:S12 can总线

 CAN必须连接收端的,这是协议的规定。不连接收端的话,就不停的重发,终止的话数据还是没有发送出去呀
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-22 19:02 , Processed in 0.088095 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表