主题:CAN延时 共有70760人关注过本帖 |
---|
![]() yy |
1楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
在桌面,“我的设备”上点右键,属性里面选择内存页就可以看内存的大概消耗情况了。
|
单帖管理 | 引用 | 回复 ![]() |
![]() yy |
2楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
之前也有客户反映这个问题。
原因是当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 );
} |
单帖管理 | 引用 | 回复 ![]() |