chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

英創(chuàng)信息技術(shù)EM9170嵌入式主板CAN通訊接口使用說明

英創(chuàng)信息技術(shù) ? 來源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-01-15 11:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

英創(chuàng)公司推出的基于WinCE 6.0操作系統(tǒng)嵌入式工控板卡EM9170,板上帶有2路獨立的CAN總線接口,均為FlexCAN模塊。FlexCAN完全支持CAN 2.0B協(xié)議,支持對于標(biāo)準(zhǔn)幀和擴展幀的收發(fā),同時FlexCAN還支持高優(yōu)先級的報文優(yōu)先發(fā)送的機制,可有效改善實時控制的相應(yīng)時間。EM9170板上輸出的兩路CAN收發(fā)信號均為TTL電平,在實際使用時需要在外圍電路中加上CAN驅(qū)動芯片,具體可以參考英創(chuàng)公司提供的“EM9170開發(fā)底板評估手冊”。EM9170內(nèi)核操作系統(tǒng)中已經(jīng)實現(xiàn)FlexCAN底層驅(qū)動,系統(tǒng)一旦上電系統(tǒng),將自動加載兩路FlexCAN的驅(qū)動程序,客戶在基于EM9170上編寫CAN應(yīng)用程序時,均可按照WinCE流式設(shè)備,打開關(guān)閉文件的方式對CAN接口進行操作,本文將著重介紹基于EM9170上FlexCAN的使用方法。

數(shù)據(jù)結(jié)構(gòu)

EM9170的CAN通訊提供了兩種數(shù)據(jù)結(jié)構(gòu),定義在flex_can.h文件中。一個是CAN通訊數(shù)據(jù)包的結(jié)構(gòu),一個是CAN通訊中對于濾波器的設(shè)置結(jié)構(gòu)。

CAN數(shù)據(jù)包結(jié)構(gòu)的定義如下:

typedef struct
{
// 定義數(shù)據(jù)幀的類型:0 - 標(biāo)準(zhǔn)幀;1 - 擴展幀
DWORD dwType;
// 標(biāo)準(zhǔn)幀或擴展幀的CAN ID。
// bit 0-28: CAN identifier (11/29 bit),其中標(biāo)準(zhǔn)幀11bit,擴展幀29bit
DWORD dwID;
// = 0:數(shù)據(jù)幀;= 1:遠程幀
DWORD dwRTR;
// 發(fā)送優(yōu)先級= 0 - 7,為最高優(yōu)先級,對接收數(shù)據(jù)包無意義
DWORD dwPrio;
// 數(shù)據(jù)長度= 0 - 8
DWORD dwDatLen;
// 數(shù)據(jù)字節(jié)
UCHAR ucDat[8];
}CAN_PACKET, *PCAN_PACKET;

CAN濾波器數(shù)據(jù)結(jié)構(gòu)的定義如下:

typedef struct
{
// 組號,恒為0
DWORD dwGroup;
// 定義數(shù)據(jù)幀的類型:0 - 標(biāo)準(zhǔn)幀;1 - 擴展幀
DWORD dwType;
// 定義標(biāo)準(zhǔn)幀或擴展幀需要比較過濾的CAN ID。
// bit 0-28: CAN identifier (11/29 bit),其中標(biāo)準(zhǔn)幀11bit,擴展幀29bit
DWORD dwID;
// = 0:數(shù)據(jù)幀;= 1:遠程幀
DWORD dwRTR;
// 定義和dwID對應(yīng)的需要檢查或不檢查的Mask位
// bit 0-28: (11/29 bit),其中標(biāo)準(zhǔn)幀11bit,擴展幀29bit
// = 0:該位不檢查;= 1:該位須檢查
DWORD dwMask;
}CAN_FILTER, *PCAN_FILTER;

濾波器數(shù)據(jù)結(jié)構(gòu)設(shè)置距離如下:

CAN_FILTER Filter;
Filter.dwGroup = 0; // 保留,恒為0
Filter.dwType = CAN_PACKET_TYPE_STANDARD; // 標(biāo)準(zhǔn)幀
Filter.dwID = 0x00000002; // 設(shè)定的接收ID
Filter.dwMask = 0x00000003; // 檢查接收報文ID的低2位
Filter.dwRTR = 0; // 數(shù)據(jù)幀

設(shè)置的Filter結(jié)構(gòu),表明對于接收到的CAN標(biāo)準(zhǔn)幀報文只檢查報文CAN ID的低兩位的值,這兩位的值應(yīng)該和Filter.dwID所設(shè)定的值相符合,即:

CAN_ID & Filter.dwMask = Filter.dwID

因此在上例中,所接收的CAN報文的ID的低兩位必須為0x02。

CAN_API函數(shù)

英創(chuàng)公司提供的CAN通訊接口的驅(qū)動程序采用標(biāo)準(zhǔn)的驅(qū)動程序,和串口操作類似用戶可以用標(biāo)準(zhǔn)的打開文件CreateFile( )、關(guān)閉文件CloseHandle( )的方式,來打開該CAN設(shè)備,數(shù)據(jù)的收發(fā)可調(diào)用ReadFile() WrtieFile( ),另外的一些對CAN操作通訊相關(guān)參數(shù)的設(shè)置可以通過調(diào)用DeviceIOCTL( )來實現(xiàn)。為了方便客戶的使用,在CAN驅(qū)動程序的基礎(chǔ)上,以源碼的形式為客戶封裝了一套簡單實用的API函數(shù)。各個函數(shù)的定義在can_api.h文件下,在該頭文件中對于各個API函數(shù)均有相應(yīng)的中文說明。

// 功能描述:啟動CAN設(shè)備端口
// 輸入?yún)?shù)hDevice: 已創(chuàng)建CAN流式設(shè)備的句柄。
// 返回值= TRUE: 啟動CAN設(shè)備端口成功。
// = FALSE: 啟動CAN設(shè)備端口失敗。
BOOL CAN_StartChip(HANDLE hDevice);

// 功能描述:停止CAN設(shè)備端口。
// 輸入?yún)?shù)hDevice: 已創(chuàng)建CAN流式設(shè)備的句柄。
// 返回值= TRUE: 停止CAN設(shè)備端口成功。
// = FALSE: 停止CAN設(shè)備端口失敗。
BOOL CAN_StopChip(HANDLE hDevice);

// 功能描述: 軟件復(fù)位CAN設(shè)備端口。
// 輸入?yún)?shù)hDevice: 已創(chuàng)建CAN流式設(shè)備的句柄。
// 返回值 = TRUE: 復(fù)位CAN設(shè)備端口成功。
// = FALSE: 復(fù)位CAN設(shè)備端口失敗。
BOOL CAN_SoftReset(HANDLE hDevice);

// 功能描述:設(shè)置CAN設(shè)備通訊的波特率。
// 輸入?yún)?shù)hDevice: 已創(chuàng)建CAN流式設(shè)備的句柄。
// CAN_TIMING_10K : 10Kbps
// CAN_TIMING_20K : 20Kbps
// CAN_TIMING_50K : 50bps
// CAN_TIMING_60K : 60bps
// CAN_TIMING_100K : 100bps
// CAN_TIMING_125K : 125Kbps
// CAN_TIMING_250K : 250Kbps
// CAN_TIMING_500K : 500bps
// CAN_TIMING_1000K: 1Mbps
// 返回值= TRUE: 波特率設(shè)置成功。
// = FALSE: 波特率設(shè)置失敗。
BOOL CAN_SetBaudRate(HANDLE hDevice, DWORD dwBaudRate );

// 功能描述: 設(shè)置CAN設(shè)備通訊接收過濾器配置。
// 輸入?yún)?shù)hDevice: 已創(chuàng)建CAN流式設(shè)備的句柄。
// pFilter: 根據(jù)通訊報文格式定義過濾器的配置。
// 返回值= TRUE: 配置設(shè)置成功。
// = FALSE: 配置設(shè)置失敗。
BOOL CAN_SetFilter( HANDLE hDevice, PCAN_FILTER pFilter );

// 功能描述: 獲取CAN設(shè)備通訊事件
// 輸入?yún)?shù)hDevice: 已創(chuàng)建CAN流式設(shè)備的句柄。
// dwTimeout: 超時時間,單位為ms
// 輸出參數(shù)
// lpEvtMask: 得到的CAN事件類型= 1:接收到CAN數(shù)據(jù)包
// = 2:CAN錯誤事件
// 返回值= TRUE: 調(diào)用成功。
// = FALSE: 調(diào)用失敗。
BOOL WaitCANEvent( HANDLE hDevice, LPDWORD lpEvtMask, DWORD dwTimeout );

// 功能描述: 清空CAN設(shè)備通訊接收、發(fā)送BUFFER。
// 輸入?yún)?shù)hDevice: 已創(chuàng)建CAN流式設(shè)備的句柄。
// 返回值= TRUE: 設(shè)置成功。
BOOL CAN_Purge( HANDLE hDevice );

CAN出錯處理

在CAN實際應(yīng)用數(shù)據(jù)通訊過程中,可能會遇到CAN通訊出錯的情況,調(diào)用API函數(shù)WaitCANEvent( HANDLE hDevice, LPDWORD lpEvtMask, DWORD dwTimeout )可以獲取到CAN通訊出錯的事件,對CAN的錯誤事件的處理可采用重啟CAN設(shè)備的操作。

if( WaitCANEvent( pCAN->m_hCAN, &dwEvtMask, 2000 ) )
{
…..
if( dwEvtMask & 0x02 ) // 錯誤事件
{
CAN_StopChip( pCAN->m_hCAN );
CAN_StartChip( pCAN->m_hCAN );
}
}

在英創(chuàng)公司提供的應(yīng)用光盤中有具體CAN接口的測試代碼,可供客戶參考測試。

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

    關(guān)注

    7

    文章

    6107

    瀏覽量

    36773
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    一文帶你了解嵌入式主板

    嵌入式主板是專為嵌入式系統(tǒng)設(shè)計的計算機主板。它與我們常見的臺式機或筆記本電腦主板有著顯著的區(qū)別,核心在于它不是為了通用計算,而是為了執(zhí)行特定
    的頭像 發(fā)表于 06-30 16:12 ?356次閱讀
    一文帶你了解<b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>

    嵌入式主板詳解與選購指南

    什么是嵌入式主板?嵌入式主板是專為嵌入式系統(tǒng)設(shè)計的核心計算平臺。它與我們?nèi)粘J褂玫呐_式機或筆記本電腦主板
    的頭像 發(fā)表于 06-06 13:23 ?413次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>詳解與選購指南

    ElfBoard嵌入式教育科普|CAN接口全面解析

    CAN的全稱是Controller Area Network,譯為控制器區(qū)域網(wǎng)絡(luò),是一種用于車輛、電力系統(tǒng)、工業(yè)設(shè)備等嵌入式系統(tǒng)的半雙工異步串行通信協(xié)議和物理接口。
    的頭像 發(fā)表于 05-28 16:30 ?1451次閱讀
    ElfBoard<b class='flag-5'>嵌入式</b>教育科普|<b class='flag-5'>CAN</b><b class='flag-5'>接口</b>全面解析

    嵌入式主板特點與應(yīng)用場景解析

    嵌入式主板(EmbeddedMotherboard)是專為嵌入式系統(tǒng)設(shè)計的重要硬件平臺,通常集成處理器、內(nèi)存、存儲、接口等關(guān)鍵組件,用于控制和管理特定設(shè)備或應(yīng)用。與通用計算機
    的頭像 發(fā)表于 05-26 15:12 ?537次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>特點與應(yīng)用場景解析

    ElfBoard嵌入式教育科普|ADC接口全面解析

    當(dāng)代信息技術(shù)體系中,嵌入式系統(tǒng)接口作為數(shù)據(jù)交互的核心基礎(chǔ)設(shè)施,構(gòu)成了設(shè)備互聯(lián)的神經(jīng)中樞?;跇?biāo)準(zhǔn)化通信協(xié)議與接口規(guī)范的技術(shù)架構(gòu),實現(xiàn)了異構(gòu)設(shè)
    的頭像 發(fā)表于 04-30 09:34 ?1639次閱讀
    ElfBoard<b class='flag-5'>嵌入式</b>教育科普|ADC<b class='flag-5'>接口</b>全面解析

    嵌入式主板開發(fā)詳細指南

    嵌入式主板開發(fā)涉及硬件設(shè)計、軟件集成、系統(tǒng)優(yōu)化等多個環(huán)節(jié),需要結(jié)合具體應(yīng)用場景進行深度定制。以下是嵌入式主板開發(fā)的詳細指南,涵蓋關(guān)鍵步驟、工具、挑戰(zhàn)及實際案例:一、開發(fā)流程與關(guān)鍵步驟1
    的頭像 發(fā)表于 04-02 11:35 ?815次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>開發(fā)詳細指南

    高可靠性嵌入式主板設(shè)計

    設(shè)計直接影響整個系統(tǒng)的穩(wěn)定性和壽命。因此,設(shè)計高可靠性的嵌入式主板不僅是技術(shù)挑戰(zhàn),也是提高產(chǎn)品競爭力的關(guān)鍵因素。本文將深入探討高可靠性嵌入式主板
    的頭像 發(fā)表于 03-25 15:11 ?696次閱讀
    高可靠性<b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>設(shè)計

    嵌入式教育科普|SPI接口全面解析

    在現(xiàn)代科技領(lǐng)域,嵌入式系統(tǒng)接口作為信息交互的核心樞紐,扮演著不可或缺的角色。
    的頭像 發(fā)表于 03-24 16:45 ?1844次閱讀
    <b class='flag-5'>嵌入式</b>教育科普|SPI<b class='flag-5'>接口</b>全面解析

    嵌入式教育科普|GPIO接口全面解析

    在現(xiàn)代科技領(lǐng)域,嵌入式系統(tǒng)接口作為信息交互的核心載體,發(fā)揮著至關(guān)重要的作用,各類接口通過預(yù)定義的通信協(xié)議與標(biāo)準(zhǔn)化規(guī)范,可以實現(xiàn)設(shè)備間的精準(zhǔn)數(shù)據(jù)傳輸與智能控制。 作為
    的頭像 發(fā)表于 03-05 11:11 ?2399次閱讀
    <b class='flag-5'>嵌入式</b>教育科普|GPIO<b class='flag-5'>接口</b>全面解析

    嵌入式主板選型與應(yīng)用指南

    嵌入式主板是專為嵌入式系統(tǒng)設(shè)計的核心硬件平臺,廣泛應(yīng)用于工業(yè)控制、物聯(lián)網(wǎng)、醫(yī)療設(shè)備等領(lǐng)域。以下是關(guān)于嵌入式主板的詳細介紹:1.
    的頭像 發(fā)表于 02-27 14:53 ?786次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>選型與應(yīng)用指南

    小身材大能量:解讀小尺寸嵌入式主板

    此前,已經(jīng)帶大家認(rèn)識了嵌入式主板的尺寸版型,相信大家對此已有了初步印象。在科技日新月異的當(dāng)下,各類設(shè)備都朝著更小體積、更高性能的方向發(fā)展。小尺寸嵌入式主板正悄無聲息改變著我們的生活與商
    的頭像 發(fā)表于 02-17 18:02 ?843次閱讀
    小身材大能量:解讀小尺寸<b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>

    盤點無風(fēng)扇嵌入式主板應(yīng)用優(yōu)勢

    在科技飛速發(fā)展的今天,嵌入式主板在各個領(lǐng)域發(fā)揮著重要作用。而無風(fēng)扇嵌入式主板以獨特優(yōu)勢在工業(yè)自動化、醫(yī)療設(shè)備和智能交通等領(lǐng)域廣泛應(yīng)用。今天,就讓我們一起深入了解無風(fēng)扇
    的頭像 發(fā)表于 02-15 18:04 ?565次閱讀
    盤點無風(fēng)扇<b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>應(yīng)用優(yōu)勢

    嵌入式主板:智能設(shè)備的“大腦”,驅(qū)動未來無限可能

    在當(dāng)今這個萬物互聯(lián)的時代,嵌入式主板作為智能設(shè)備的“大腦”,正悄然改變著我們的生活。從智能家居到工業(yè)自動化,從醫(yī)療設(shè)備到交通系統(tǒng),嵌入式主板無處不在,為各種應(yīng)用場景提供強大的計算和控制
    的頭像 發(fā)表于 02-07 11:34 ?759次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>:智能設(shè)備的“大腦”,驅(qū)動未來無限可能

    嵌入式主板的概述與發(fā)展

    隨著科技的迅猛發(fā)展,嵌入式系統(tǒng)在現(xiàn)代電子產(chǎn)品中扮演著越來越重要的角色。嵌入式主板作為嵌入式系統(tǒng)的核心組件之一,承擔(dān)著控制、處理和通訊等多種功
    的頭像 發(fā)表于 01-13 16:30 ?1005次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>的概述與發(fā)展

    ARM架構(gòu)嵌入式主板特點

    嵌入式主板可以理解為嵌入在設(shè)備中用于控制和數(shù)據(jù)處理的CPU板,也就是設(shè)備的“大腦”。當(dāng)主板嵌入到設(shè)備中,當(dāng)然對
    的頭像 發(fā)表于 12-31 16:03 ?1556次閱讀
    ARM架構(gòu)<b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>特點