主题:CAN延时 共有48903人关注过本帖 |
---|
yy |
1楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-6-20 17:00:00 [显示全部帖子]
在桌面,“我的设备”上点右键,属性里面选择内存页就可以看内存的大概消耗情况了。
|
单帖管理 | 引用 | 回复 |
yy |
2楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
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 );
} |
单帖管理 | 引用 | 回复 |