激情综合丁香-激情综合六月-激情综合婷婷亚洲图片-激情综合图区-激情综合网五月


主題:[求助]LINUX -socket Can 連續(xù)發(fā)送數(shù)據(jù)問(wèn)題

  共有50223人關(guān)注過(guò)本帖    
帥哥喲,離線,有人找我嗎?
airyrain
1樓 信息 | 搜索 | 郵箱


加好友 發(fā)短信
[求助]LINUX -socket Can 連續(xù)發(fā)送數(shù)據(jù)問(wèn)題  發(fā)帖心情 Post By:2014-5-21 9:39:00   [只看該作者]

Linux下 CAN發(fā)送數(shù)據(jù)能不能無(wú)間隔連續(xù)發(fā)送多幀數(shù)據(jù)?

現(xiàn)在循環(huán)幾十次write發(fā)送,就會(huì)有發(fā)送丟幀。

 

如何處理才能連續(xù)發(fā)送?


  單帖管理 | 引用 | 回復(fù) 回到頂部
帥哥喲,離線,有人找我嗎?
hzc
2樓 信息 | 搜索 | 郵箱


加好友 發(fā)短信 員工
  發(fā)帖心情 Post By:2014-5-21 10:45:00   [只看該作者]

    你好,can是可以連續(xù)發(fā)送數(shù)據(jù)幀的,循環(huán)調(diào)用write()函數(shù)發(fā)送數(shù)據(jù)的測(cè)試情況如下:

 


圖片點(diǎn)擊可在新窗口打開(kāi)查看此主題相關(guān)圖片如下:qq圖片20140521104205.jpg
圖片點(diǎn)擊可在新窗口打開(kāi)查看

 

    如果沒(méi)有解決問(wèn)題,可以將你的詳細(xì)情況發(fā)送郵件或者直接通過(guò)電話和我們交流,謝謝。

   

 

 


 


  單帖管理 | 引用 | 回復(fù) 回到頂部
帥哥喲,離線,有人找我嗎?
airyrain
3樓 信息 | 搜索 | 郵箱


加好友 發(fā)短信
  發(fā)帖心情 Post By:2014-5-21 11:02:00   [只看該作者]

原先的樣例里有mdelay(500)。不知你測(cè)試的是否也有延時(shí)。

我想做的是不要延時(shí),類似usbcan工具里的 連續(xù)N幀的情況,相當(dāng)于直接往CAN_FD socket 里放了N個(gè)can幀。

數(shù)據(jù)比較多,不想加延時(shí)

例如:

    for( i1=0;i1<100; i1++ )
    {

     memset( frame.data, 0x32, frame.can_dlc );
        nbytes =write(s, &frame, sizeof(struct can_frame))
         printf( "%d sendbytes: %d\n", i1+1, nbytes );
    }

[此貼子已經(jīng)被作者于2014-5-21 11:06:32編輯過(guò)]

  單帖管理 | 引用 | 回復(fù) 回到頂部
帥哥喲,離線,有人找我嗎?
hzc
4樓 信息 | 搜索 | 郵箱


加好友 發(fā)短信 員工
  發(fā)帖心情 Post By:2014-5-21 11:27:00   [只看該作者]

    你好,把延時(shí)去掉了,這是使用的測(cè)試程序:  

    for(i=0;i<500;i++)
    {

        nbytes = write(s, &frame, sizeof(struct can_frame));
        printf( "%d sendbytes\n", i1+1 );
        i1++;
    }

    這是測(cè)試的結(jié)果:

 


圖片點(diǎn)擊可在新窗口打開(kāi)查看此主題相關(guān)圖片如下:qq截圖20140521112352.jpg
圖片點(diǎn)擊可在新窗口打開(kāi)查看

 

    在連續(xù)調(diào)用500次write()后,數(shù)據(jù)沒(méi)有丟失。


  單帖管理 | 引用 | 回復(fù) 回到頂部
帥哥喲,離線,有人找我嗎?
airyrain
5樓 信息 | 搜索 | 郵箱


加好友 發(fā)短信
  發(fā)帖心情 Post By:2014-5-21 14:07:00   [只看該作者]

    for(i=0;i<500;i++)
    {

        nbytes = write(s, &frame, sizeof(struct can_frame));
      //  printf( "%d sendbytes\n", i1+1 );
        i1++;
    }

你把printf 去掉試試。。用usbcan 看接收包。100幀以內(nèi)就漏了。


  單帖管理 | 引用 | 回復(fù) 回到頂部
帥哥喲,離線,有人找我嗎?
hzc
6樓 信息 | 搜索 | 郵箱


加好友 發(fā)短信 員工
  發(fā)帖心情 Post By:2014-5-21 15:11:00   [只看該作者]

你好,查看write()函數(shù)的返回值,有出現(xiàn)-1的情況,說(shuō)明有數(shù)據(jù)沒(méi)有發(fā)送出去,“丟掉的”數(shù)據(jù)就是沒(méi)有發(fā)送出去的數(shù)據(jù)。

可以在程序中增加發(fā)送是否成功的判斷:if(nbytes!=sizeof(struct can_frame)),如果發(fā)送失敗就重新發(fā)送。


  單帖管理 | 引用 | 回復(fù) 回到頂部

返回首頁(yè)

[求助]LINUX -socket Can 連續(xù)發(fā)送數(shù)據(jù)問(wèn)題

用戶名:
            驗(yàn)證碼: 驗(yàn)證碼,看不清楚?請(qǐng)點(diǎn)擊刷新驗(yàn)證碼
內(nèi)容:
主站蜘蛛池模板: 黄色片视频在线免费观看| 国产欧美精品国产国产专区| 海天翼精品一区二区三区| 亚洲六月丁香色婷婷综合久久| 99久久精品国产片久人| 一级毛片免费视频| 一级毛片高清免费播放| 久久久久女人精品毛片九一| 日本一级毛片免费播| 亚洲国产精品67194成人| 在线播放国产视频| 在线观看免费精品国自产| 在线看免费观看韩国特黄一级| 成人黄页网站免费观看大全| 成年性羞羞视频免费观看无限| 污污视频在线观看黄| 国内毛片| 欧美一欧美一级毛片| 免费黄色在线视频观看| 国产一区二区三区四区波多野结衣 | 亚洲综合一区二区精品久久| 中中文字幕亚州无线码| 一级欧美一级日韩| www.香蕉视频在线观看| 97在线观免费视频观看| 一级特黄网站| 99久久精品毛片免费播放| 77久久| a一级特黄日本大片 s色| 91在线精品中文字幕| 亚洲婷婷网| 私啪影院| 久久亚洲国产欧洲精品一| 激情五月婷婷基地| 国产成人精品第一区二区| 99久久精品费精品国产一区二| 精品国产香蕉伊思人在线| 爱爱免费看| 黄网站大全| 美国一级毛片免费| 国产偷v国产偷v亚洲偷v|