0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)SJA1000的CAN通訊接口函數(shù)擴(kuò)展應(yīng)用介紹

英創(chuàng)信息技術(shù) ? 來(lái)源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-01-15 14:11 ? 次閱讀

在現(xiàn)有的can_api.h所提供的接口函數(shù)的基礎(chǔ)上,推出CAN接口通訊一些擴(kuò)展應(yīng)用功能,主要是為每個(gè)接收的數(shù)據(jù)包均加上了時(shí)間標(biāo)簽,以支持實(shí)時(shí)控制的應(yīng)用。為了兼容以前接口函數(shù),can_api.h保持不變,英創(chuàng)公司另外定義了一個(gè)can_api_ex.h,在該文件中定義了帶有時(shí)間標(biāo)簽的CAN數(shù)據(jù)報(bào)文結(jié)構(gòu)。

typedef struct
{
// CAN數(shù)據(jù)報(bào)文ID,其中
bit 0-28 : CAN identifier (11/29 bit)
bit 29 : error frame flag (0 = data frame, 1 = error frame)
bit 30 : remote transmission request flag (1 = rtr frame)
bit 31 : frame format flag (0 = standard 11 bit, 1 = extended 29 bit)
DWORD dwCAN_ID;
// CAN數(shù)據(jù)報(bào)文中的數(shù)據(jù)長(zhǎng)度
DWORD dwCAN_DatLen;
// CAN數(shù)據(jù)報(bào)文中的數(shù)據(jù)
UCHAR ucDat[8];
// CAN數(shù)據(jù)報(bào)文的時(shí)間標(biāo)簽,單位為毫秒
DWORD dwTimeTick;
} CAN_FRAME, *PCAN_FRAME;

獲取帶有時(shí)間標(biāo)簽的CAN接收?qǐng)?bào)文,可通過(guò)調(diào)用標(biāo)準(zhǔn)的ReadFile( ) 來(lái)實(shí)現(xiàn),相應(yīng)的發(fā)送函數(shù)也可調(diào)用WriteFile( )來(lái)處理。以下為接收線程中的獲取帶有時(shí)間標(biāo)簽的CAN數(shù)據(jù)報(bào)文的方法:

WaitForSingleObject( ceCAN->m_hRxEvent, 15 );
{
dwLen = 0;
bResult = ReadFile(ceCAN->m_hCAN,
&ceCAN->can_frame,
sizeof(CAN_FRAME), &dwLen, NULL );
if( dwLen==sizeof(CAN_FRAME) ) // receive a can frame
{
if( dwLastTimeTick == 0 )
{
printf( '0x%08x - %ld\n', ceCAN->can_frame.dwCAN_ID, ceCAN->can_frame.dwTimeTick );
dwLastTimeTick = ceCAN->can_frame.dwTimeTick;
}
else
{
printf( '0x%08x - %ld\n', ceCAN->can_frame.dwCAN_ID, ceCAN->can_frame.dwTimeTick-dwLastTimeTick );
dwLastTimeTick = ceCAN->can_frame.dwTimeTick;
}
}
}

經(jīng)過(guò)測(cè)試,在英創(chuàng)嵌入式主板上CAN時(shí)間標(biāo)簽的精度能夠保證在±1ms。

由于讀取帶有時(shí)間標(biāo)簽的CAN數(shù)據(jù)報(bào)文采用的是系統(tǒng)標(biāo)準(zhǔn)函數(shù)ReadFile,所以對(duì)該擴(kuò)展功能感興趣的老客戶,需要對(duì)已有的英創(chuàng)嵌入式主板WinCE內(nèi)核進(jìn)行升級(jí),而can_api.lib不需做任何變化。具體can_api.h中定義的接口函數(shù)參見《基于SJA1000的CAN通訊接口函數(shù)使用說(shuō)明》一文。

感興趣的客戶可以和英創(chuàng)的技術(shù)支持聯(lián)系。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6083

    瀏覽量

    35098
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    CAN/CANFD卡接口函數(shù)使用說(shuō)明

    電子發(fā)燒友網(wǎng)站提供《CAN/CANFD卡接口函數(shù)使用說(shuō)明.pdf》資料免費(fèi)下載
    發(fā)表于 10-15 17:35 ?0次下載

    EN?Power?Bus二總線接口轉(zhuǎn)接485方案芯片-485接口芯片

    EN20F18 是采用低壓直流供電總線通訊技術(shù)設(shè)計(jì)的一款通訊接口芯片,是銳恩EN Power Bus二總線
    發(fā)表于 09-29 16:04

    梯度科技入選2023年信息技術(shù)應(yīng)用創(chuàng)新解決方案名單

    日前,工業(yè)和信息化部網(wǎng)絡(luò)安全產(chǎn)業(yè)發(fā)展中心(工業(yè)和信息化部信息中心)在天津舉辦2024信息技術(shù)應(yīng)用創(chuàng)新發(fā)展大會(huì)暨解決方案應(yīng)用推廣大會(huì)。會(huì)上正式公布了2023年
    的頭像 發(fā)表于 09-09 16:29 ?328次閱讀

    業(yè)內(nèi)超高性價(jià)比CAN BUS通訊接口靜電防護(hù)器件SENC23T24V2BC

    業(yè)內(nèi)超高性價(jià)比CAN BUS通訊接口靜電防護(hù)器件SENC23T24V2BC CAN接口在工業(yè)自動(dòng)化領(lǐng)域應(yīng)用十分廣泛,為了防止靜電放電事件對(duì)端
    的頭像 發(fā)表于 08-21 15:36 ?267次閱讀
    業(yè)內(nèi)超高性價(jià)比<b class='flag-5'>CAN</b> BUS<b class='flag-5'>通訊</b><b class='flag-5'>接口</b>靜電防護(hù)器件SENC23T24V2BC

    [can開發(fā)板] 一款低價(jià)can/obd2總線Linux開發(fā)板

    :https://wiki.friendlyelec.com/wiki/index.php/NanoPi_NEO_Air/zh CAN/OBD開源擴(kuò)展板詳細(xì)介紹:https://gitee.com/usb7
    發(fā)表于 07-05 16:46

    芯力特車規(guī)TVS產(chǎn)品助力CAN/LIN通訊接口保護(hù)

    芯力特深耕車規(guī)CAN/LIN通訊接口芯片,在大量的客戶項(xiàng)目應(yīng)用中深入了解客戶需求后,推出了汽車級(jí)TVS防護(hù)器件,助力車規(guī)CAN/LIN通訊
    的頭像 發(fā)表于 07-02 08:07 ?336次閱讀
    芯力特車規(guī)TVS產(chǎn)品助力<b class='flag-5'>CAN</b>/LIN<b class='flag-5'>通訊</b><b class='flag-5'>接口</b>保護(hù)

    BIG WALNUT大核桃全面響應(yīng)國(guó)家“信創(chuàng)”號(hào)召,傾力“智”造國(guó)產(chǎn)芯片+國(guó)產(chǎn)加密安全系統(tǒng)通訊產(chǎn)品

    信息化高速發(fā)展的今天,信息技術(shù)的自主可控和信息安全已經(jīng)成為國(guó)家發(fā)展的重要基石。國(guó)家信創(chuàng)戰(zhàn)略的提出,旨在推動(dòng)國(guó)產(chǎn)信息產(chǎn)業(yè)的崛起,實(shí)現(xiàn)
    的頭像 發(fā)表于 06-18 17:42 ?435次閱讀

    如何檢測(cè)can通訊電路的好壞

    CAN(Controller Area Network)是一種基于總線通信的局域網(wǎng)技術(shù),廣泛應(yīng)用于汽車電子、工業(yè)控制等領(lǐng)域。在實(shí)際應(yīng)用中,CAN通訊電路的好壞對(duì)整個(gè)系統(tǒng)的穩(wěn)定性和可靠性
    的頭像 發(fā)表于 06-16 09:42 ?1671次閱讀

    STM32 HAL執(zhí)行到HAL_CAN_Receive_IT函數(shù)時(shí),導(dǎo)致can接收的標(biāo)志位不清空can通訊直接掛的原因?

    最近使用HAL遇到一個(gè)BUG 當(dāng)執(zhí)行到HAL_CAN_Receive_IT函數(shù)錯(cuò)誤時(shí),產(chǎn)生一個(gè)問(wèn)題導(dǎo)致can接收的標(biāo)志位不清空,導(dǎo)致can通訊
    發(fā)表于 04-24 06:32

    CANoe總線接口硬件VN1640A實(shí)物展示與功能介紹#汽車CAN總線?

    總線接口CAN總線接口
    北匯信息POLELINK
    發(fā)布于 :2024年04月11日 10:50:36

    兩片STM32的CAN接口,可以直接用TX與RX引腳連接正常通訊嗎?

    兩片 STM32的CAN接口,可以直接用TX與RX引腳連接(不接CAN收發(fā)器芯片)正常通訊
    發(fā)表于 04-01 07:38

    龍芯中科三項(xiàng)信創(chuàng)方案入圍工信部2023年信息技術(shù)應(yīng)用創(chuàng)新應(yīng)用示范案例名單

    近日,工業(yè)和信息化部通報(bào)了2023年信息技術(shù)應(yīng)用創(chuàng)新解決方案征集遴選結(jié)果,本次共評(píng)選出典型解決方案173個(gè)、應(yīng)用示范案例83個(gè)、單項(xiàng)創(chuàng)新案例64個(gè)。
    的頭像 發(fā)表于 03-07 16:45 ?760次閱讀
    龍芯中科三項(xiàng)信<b class='flag-5'>創(chuàng)</b>方案入圍工信部2023年<b class='flag-5'>信息技術(shù)</b>應(yīng)用創(chuàng)新應(yīng)用示范案例名單

    XMC4500 CAN通訊能發(fā)不能接收是怎么回事?

    剛開始結(jié)束英飛凌的片子,需要用到CAN通訊,使用的是keil。在程序中,XMC_CAN_MO_Transmit可以發(fā)送數(shù)據(jù),使用CAN-USB模塊能在電腦端查看到。用另一塊班子給它發(fā)
    發(fā)表于 02-06 06:31

    PCB企業(yè)創(chuàng)力三期項(xiàng)目順利投產(chǎn)

    近日,PCB企業(yè)四川創(chuàng)力電子科技股份有限公司三期(載板廠和特種板廠)順利投產(chǎn)。通過(guò)這個(gè)項(xiàng)目,創(chuàng)力公司成功地將業(yè)務(wù)范圍從單一的普通通孔多層板擴(kuò)展
    的頭像 發(fā)表于 01-15 14:20 ?524次閱讀

    基于CAN多主通訊技術(shù)的煤礦頂板監(jiān)測(cè)系統(tǒng)設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于CAN多主通訊技術(shù)的煤礦頂板監(jiān)測(cè)系統(tǒng)設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-25 11:13 ?0次下載
    基于<b class='flag-5'>CAN</b>多主<b class='flag-5'>通訊</b><b class='flag-5'>技術(shù)</b>的煤礦頂板監(jiān)測(cè)系統(tǒng)設(shè)計(jì)