主题:CAN延时

  共有36308人关注过本帖    
帅哥哟,离线,有人找我吗?
高飞228
1楼 信息 | 搜索 | 邮箱


加好友 发短信
CAN延时  发帖心情 Post By:2013-6-19 11:24:00   [只看该作者]

您好  我们买了贵公司的EM9170板子   现在出现了一个这样的问题。我们有一个罗盘通过CAN会主动发送数据给EM9170主板,发送频率是20帧/秒(都是标准帧,波特率设成了500K),
结果发现解析出来的数据延迟了20多秒,所以想问这个CAN本身有个很低的上限接收频率限制啊。
求教啊!

  单帖管理 | 引用 | 回复 回到顶部
zhl
2楼


  发帖心情 Post By:2013-6-19 18:16:00   [只看该作者]

不会有这么长的延时,我们在EM9170做过接收CAN数据报文测试,对端发送频率为100帧/秒,接收响应正常。建议你将解析数据部分屏蔽,先测试数据接收是否正常。


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
高飞228
3楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2013-6-20 15:44:00   [只看该作者]

您好  我已经解决了这个问题,是因为我开的数据包缓冲区有点问题     
现在有个新的问题想请教一下,我在我写的程序运行的时候想看下系统内存消耗情况,但是通过EM9170的任务管理器看不到,请问有什么办法么?

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
yy
4楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2013-6-20 17:00:00   [只看该作者]

在桌面,“我的设备”上点右键,属性里面选择内存页就可以看内存的大概消耗情况了。

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
linzhongwei
5楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2013-8-7 13:39:00   [只看该作者]

您好,是否可以把缓冲区的问题分享一下?谢谢


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
linzhongwei
6楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2013-8-7 14:38:00   [只看该作者]

怎样设置缓冲区可以避免接收延迟问题?


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
yy
7楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2013-8-8 11:09:00   [只看该作者]

之前也有客户反映这个问题。
原因是当CAN数据接收消息来的时候,可能BUFFER里面不止一条消息,需要反复读取,直到确认BUFFER读空为止。
如果只是读一条,然后等到下一次接收消息时才读下一条,(可能这中间间隔有20秒),就会出现你说的这个问题。C的例程相关代码如下
dwLen = 0;
bResult = ReadFile( pCAN->m_hCAN, (char*)&pCAN->rxmsg, sizeof(CAN_PACKET), &dwLen, 0 );
while (dwLen > 0)
{
pCAN->PackagePro( (char*)&pCAN->rxmsg, dwLen );
bResult = ReadFile( pCAN->m_hCAN, (char*)&pCAN->rxmsg, sizeof(CAN_PACKET), &dwLen, 0 );
}

  单帖管理 | 引用 | 回复 回到顶部

返回首页

CAN延时

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: