主題:CAN延時 共有55635人關注過本帖 |
---|
高飛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 );
} |
單帖管理 | 引用 | 回復 |