日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

深度解析Air780EPM模組:LuatOS下CAN總線通信的完整方案!

合宙LuatOS ? 來源:合宙LuatOS ? 作者:合宙LuatOS ? 2025-05-06 14:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文聚焦Air780EPM的CAN通信能力,結(jié)合LuatOS實時操作系統(tǒng),從底層驅(qū)動到應(yīng)用層協(xié)議,詳細拆解如何實現(xiàn)工業(yè)級CAN總線數(shù)據(jù)傳輸,助力開發(fā)者快速落地項目。

最新資料詳見:https://docs.openluat.com/air780epm/luatos/api/core/can/

一、Can操作庫常量定義

1.1 CAN工作模式常量

can.MODE_NORMAL:

正常工作模式;

can.MODE_LISTEN:

監(jiān)聽模式(僅接收,不發(fā)送);

can.MODE_TEST:

自測模式(自收自發(fā));

can.MODE_SLEEP:

休眠模式。

1.2 CAN狀態(tài)常量

can.STATE_STOP:

停止工作狀態(tài);

can.STATE_ACTIVE:

主動錯誤狀態(tài)(一般情況下為該狀態(tài));

can.STATE_PASSIVE:

被動錯誤狀態(tài)(總線上錯誤較多時進入,但仍可正常收發(fā));

can.STATE_BUSOFF:

離線狀態(tài)(總線錯誤非常多,不能收發(fā),需手動退出);

can.STATE_LISTEN:

監(jiān)聽狀態(tài)(選擇監(jiān)聽模式時進入);

can.STATE_TEST:

自收自發(fā)狀態(tài)(選擇自測模式時進入);

can.STATE_SLEEP:

休眠狀態(tài)(選擇休眠模式時進入)。

1.3 回調(diào)消息類型常量

can.CB_MSG:

有新數(shù)據(jù)寫入緩存;

can.CB_TX:

數(shù)據(jù)發(fā)送完成(需通過param判斷成功/失?。?;

can.CB_ERR:

錯誤報告(param為錯誤碼);

can.CB_STATE:

總線狀態(tài)變更,后續(xù)param參數(shù)是新的狀態(tài),也可以用can.state讀出。

1.4 幀格式常量

can.EXT:擴展幀;

can.STD:標準幀。

二、Can操作庫API函數(shù)

wKgZO2gRubeAQdadAAi5_7cGeh4708.png

2.1 初始化與配置

1)初始化CAN總線

can.init(id, rx_message_cache_max)

參數(shù):

id:總線ID(0表示can0,1表示can1,通常默認為0)。

rx_message_cache_max:接收緩存消息數(shù)最大值(默認使用平臺值)。

返回值:boolean(成功返回true,失敗返回false)。

示例:

wKgZO2gRufeAQgXYAABNDLe5yuQ955.png

2)配置CAN總線的波特率及時序參數(shù)

can.timing(id, br, PTS, PBS1, PBS2, SJW)

參數(shù):

id:總線ID。

br:波特率(默認1Mbps)。

PTS:

傳播時間段(范圍1~8,默認5)。

PBS1:

相位緩沖段1(范圍1~8,默認4)。

PBS2:

相位緩沖段2(范圍2~8,默認3)。

SJW:

同步補償寬度(范圍1~4,默認2)。

返回值:boolean。

示例:

wKgZPGgRujyACaIsAABSbqIDDqo119.png

3)設(shè)置CAN總線工作模式

can.mode(id, mode)

參數(shù):

id:總線ID。

mode:

模式常量(如 can.MODE_NORMAL)。

返回值:boolean。

示例:

wKgZPGgRumOAdFSPAABMWd0g-8Q844.png

4)設(shè)置消息過濾規(guī)則

can.filter(id, dual_mode, ACR, AMR)

參數(shù):

id:總線ID。

dual_mode:是否啟用雙濾波模式。

ACR:接受代碼寄存器(過濾 ID 值)。

AMR:接受掩碼寄存器(掩碼值)。

返回值:boolean。

注意:具體實現(xiàn)依賴硬件特性。

5)設(shè)置CAN節(jié)點ID及類型can.node(id, node_id, id_type)

參數(shù):

id:總線ID。

node_id:節(jié)點 ID。

id_type:ID 類型(can.EXT或can.STD)。

返回值:boolean。

示例:

wKgZO2gRupeAI3mCAABNo0Bwtiw035.png

2.2 數(shù)據(jù)與收發(fā)

1)發(fā)送CAN消息

can.tx(id, msg_id, id_type, RTR, need_ack, data)

參數(shù):

id:總線ID。

msg_id:消息ID。

id_type:

幀類型(can.EXT 或 can.STD)。

RTR:

是否為遠程傳輸請求(true/false)。

need_ack:

是否需要應(yīng)答(true/false)。

data:

數(shù)據(jù)(數(shù)組,如 {0x01, 0x02})。

返回值:無。

示例:

wKgZO2gRusyARjpWAABIg2VwJu0252.png

2)接收CAN消息

can.rx(id)

參數(shù):id:總線ID。

返回值:消息數(shù)據(jù)(如 {id=0x123, data={0x01, 0x02}})。

示例:

wKgZO2gRuvmAYkeRAABZA62SthM866.png

2.3 狀態(tài)與事件

1)注冊事件回調(diào)函數(shù)

can.on(id, func)

參數(shù):

id:總線ID。

func:回調(diào)函數(shù)(參數(shù):id, type, param)。

示例:

wKgZO2gRuzCAbviwAADOxJdoVwI511.png

2)獲取當前總線狀態(tài)

can.state(id)

參數(shù):id:總線ID。

返回值:狀態(tài)常量(如 can.STATE_ACTIVE)。

3)停止指定總線can.stop(id)

參數(shù):id:總線ID。

4)重置總線(恢復默認配置)can.reset(id)

參數(shù):id:總線ID。

5)反初始化總線can.deinit(id)

參數(shù):id:總線ID。

6)啟用/禁用調(diào)試信息輸出can.debug(on_off)

參數(shù):on_off(布爾值)。

三、CAN開發(fā)相關(guān)注意事項

3.1 初始化順序

wKgZPGgRu6GAYfS9AACmhO3XfNE642.png

3.2 消息發(fā)送與接收

使用can.tx發(fā)送消息,確保參數(shù)正確;通過can.rx拉取消息,或在回調(diào)中處理can.CB_MSG。

3.3 狀態(tài)監(jiān)控

定期檢查can.state,處理離線狀態(tài)(can.STATE_BUSOFF);錯誤回調(diào)can.CB_ERR,需記錄param錯誤碼。

3.4 調(diào)試與性能

啟用can.debug(true) 輸出底層日志;接收緩存rx_message_cache_max需根據(jù)需求調(diào)整,避免消息丟失。

3.5 常見問題

如何解決can.STATE_BUSOFF離線狀態(tài)?

需先調(diào)用can.reset(id)恢復總線,再重新初始化配置。

如何確保消息發(fā)送成功?

通過can.CB_TX回調(diào)判斷發(fā)送結(jié)果,或檢查返回值(若API支持)。

如何處理高頻率消息接收?

增大rx_message_cache_max,或在回調(diào)中及時處理消息。

wKgZPGgRu_uAF6U9AAZu0-Z2mm8812.pngwKgZPGgRvAyAZ3ngAAIqztab9BY129.png

更多最新開發(fā)資料詳見:www.air780epm.cn

今天的內(nèi)容就分享到這里了~

審核編輯 黃宇

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

    關(guān)注

    5

    文章

    107

    瀏覽量

    18946
  • 總線通信
    +關(guān)注

    關(guān)注

    0

    文章

    66

    瀏覽量

    12255
  • LuatOS
    +關(guān)注

    關(guān)注

    0

    文章

    173

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    LuatOS選型指南:基于Air780EPM的32/64位性能實測分析

    面對32位與64位LuatOS固件的選擇難題,本文通過在Air780EPM開發(fā)板上的實際測試,詳細解析兩者在整數(shù)處理能力、浮點數(shù)精度以及系統(tǒng)性能方面的差異,結(jié)合應(yīng)用場景給出專業(yè)建議,助力開發(fā)者實現(xiàn)
    的頭像 發(fā)表于 02-25 18:05 ?329次閱讀
    <b class='flag-5'>LuatOS</b>選型指南:基于<b class='flag-5'>Air780EPM</b>的32/64位性能實測分析

    一文搞懂Air780EPM的NTP通信LuatOS腳本開發(fā)教程

    ?想在Air780EPM上用LuatOS實現(xiàn)NTP時間同步?這篇教程將用最通俗的方式講解實現(xiàn)原理與代碼實現(xiàn),讓你快速掌握關(guān)鍵技能。 一、NTP通信概述 ? 1.1 NTP 網(wǎng)絡(luò)時間協(xié)議(英語
    的頭像 發(fā)表于 09-30 18:19 ?2326次閱讀
    一文搞懂<b class='flag-5'>Air780EPM</b>的NTP<b class='flag-5'>通信</b>:<b class='flag-5'>LuatOS</b>腳本開發(fā)教程

    Air780EPM嵌入式開發(fā):LuatOS的MQTT通信實踐

    通過LuatOS腳本在Air780EPM開發(fā)板上實現(xiàn)MQTT通信,是物聯(lián)網(wǎng)設(shè)備開發(fā)中高效且便捷的解決方案。 一、MQTT 協(xié)議詳解 ? 1.1 什么是 MQTT? MQTT(Messa
    的頭像 發(fā)表于 09-30 16:11 ?2006次閱讀
    <b class='flag-5'>Air780EPM</b>嵌入式開發(fā):<b class='flag-5'>LuatOS</b><b class='flag-5'>下</b>的MQTT<b class='flag-5'>通信</b>實踐

    實戰(zhàn)Air780EPM:構(gòu)建4G共享網(wǎng)關(guān),服務(wù)WiFi與有線設(shè)備!

    通過多網(wǎng)融合技術(shù)將不同類型的通信網(wǎng)絡(luò)(4G、以太網(wǎng))整合在一起,從而形成統(tǒng)一、高效、互操作性強的網(wǎng)絡(luò)系統(tǒng)。 本文基于 Air780EPM 模塊,通過 4G 移動網(wǎng)絡(luò)為 以太網(wǎng)設(shè)備提供統(tǒng)一的上網(wǎng)接入服務(wù)
    的頭像 發(fā)表于 09-30 16:03 ?1487次閱讀
    實戰(zhàn)<b class='flag-5'>Air780EPM</b>:構(gòu)建4G共享網(wǎng)關(guān),服務(wù)WiFi與有線設(shè)備!

    Air780EPM開發(fā)板NTP對時教程:LuatOS腳本開發(fā)入門指南

    通過簡單的LuatOS腳本,Air780EPM即可實現(xiàn)NTP時間同步。本指南從零開始,帶你掌握嵌入式設(shè)備聯(lián)網(wǎng)校時的核心方法。 一、NTP通信概述 1.1 NTP 網(wǎng)絡(luò)時間協(xié)議(英語:Network
    的頭像 發(fā)表于 09-30 16:01 ?1335次閱讀
    <b class='flag-5'>Air780EPM</b>開發(fā)板NTP對時教程:<b class='flag-5'>LuatOS</b>腳本開發(fā)入門指南

    LuatOS嵌入式開發(fā)實戰(zhàn):Air780EPM與MQTT通信

    ?本教程聚焦于LuatOSAir780EPM開發(fā)板上的應(yīng)用,演示如何通過腳本實現(xiàn)MQTT協(xié)議通信,助力物聯(lián)網(wǎng)設(shè)備快速聯(lián)網(wǎng)。 一、MQTT 協(xié)議詳解 ? 1.1 什么是 MQTT? MQTT
    的頭像 發(fā)表于 09-29 18:10 ?684次閱讀
    <b class='flag-5'>LuatOS</b>嵌入式開發(fā)實戰(zhàn):<b class='flag-5'>Air780EPM</b>與MQTT<b class='flag-5'>通信</b>

    Air780EPM開發(fā)板FTP功能實戰(zhàn):LuatOS嵌入式開發(fā)全解析

    本文深入講解Air780EPM模組LuatOS環(huán)境的FTP應(yīng)用開發(fā),涵蓋AT指令配置、網(wǎng)絡(luò)連接與文件傳輸流程,助你高效完成嵌入式通信項目
    的頭像 發(fā)表于 09-29 15:37 ?643次閱讀
    <b class='flag-5'>Air780EPM</b>開發(fā)板FTP功能實戰(zhàn):<b class='flag-5'>LuatOS</b>嵌入式開發(fā)全<b class='flag-5'>解析</b>

    LuatOS Air780EPM 開發(fā)板 HTTP 教程:原理講解與項目實操!

    本篇教程將系統(tǒng)介紹 LuatOS Air780EPM 在 HTTP 通信中的應(yīng)用,從請求機制到響應(yīng)解析,配合完整代碼演示,讓你輕松實現(xiàn)設(shè)備端
    的頭像 發(fā)表于 09-26 20:36 ?1244次閱讀
    <b class='flag-5'>LuatOS</b> <b class='flag-5'>Air780EPM</b> 開發(fā)板 HTTP 教程:原理講解與項目實操!

    Air8101多網(wǎng)融合戰(zhàn)略升級:Air780EPM模塊助力4G聯(lián)網(wǎng)落地

    在物聯(lián)網(wǎng)通信技術(shù)持續(xù)迭代的背景,Air8101通過戰(zhàn)略級模塊外掛——Air780EPM,正式邁入4G聯(lián)網(wǎng)時代。多網(wǎng)融合架構(gòu)的完善,使設(shè)備在復雜環(huán)境中仍能保持高速、穩(wěn)定的數(shù)據(jù)傳輸性能,
    的頭像 發(fā)表于 06-23 16:53 ?724次閱讀
    <b class='flag-5'>Air</b>8101多網(wǎng)融合戰(zhàn)略升級:<b class='flag-5'>Air780EPM</b>模塊助力4G聯(lián)網(wǎng)落地

    優(yōu)化你的設(shè)計:Air780EPM場景化ADC硬件電路指南!

    提升ADC性能需從場景需求出發(fā)。本文針對Air780EPM在數(shù)據(jù)采集中的常見挑戰(zhàn),如噪聲抑制、動態(tài)范圍適配等,提供場景化的優(yōu)化方案與電路設(shè)計建議,助力打造高性價比的硬件系統(tǒng)。 最近有工程師朋友問
    的頭像 發(fā)表于 06-13 18:02 ?1066次閱讀
    優(yōu)化你的設(shè)計:<b class='flag-5'>Air780EPM</b>場景化ADC硬件電路指南!

    Air780EPM — ADC硬件電路設(shè)計:場景化優(yōu)化與實踐!

    不同應(yīng)用場景對ADC電路的要求差異明顯,Air780EPM的設(shè)計需針對性優(yōu)化。本文通過實例解析電源濾波、信號隔離等關(guān)鍵技術(shù),闡述如何根據(jù)具體場景需求打造高性能的硬件電路方案。 最近有工程師朋友問
    的頭像 發(fā)表于 06-11 14:40 ?803次閱讀
    <b class='flag-5'>Air780EPM</b> — ADC硬件電路設(shè)計:場景化優(yōu)化與實踐!

    解鎖Air780EPM:N種GPIO操控LED的實戰(zhàn)技巧!

    在物聯(lián)網(wǎng)項目中,靈活使用Air780EPM的GPIO控制LED至關(guān)重要。本文將展示實現(xiàn)方式,涵蓋硬件配置與軟件編程,滿足不同場景需求。 今天特別分享基于Air780EPM的GPIO控制LED實現(xiàn)方案
    的頭像 發(fā)表于 05-28 16:56 ?1089次閱讀
    解鎖<b class='flag-5'>Air780EPM</b>:N種GPIO操控LED的實戰(zhàn)技巧!

    COD監(jiān)測革新!Air780EPM一站式替代STM32+4G模組的物聯(lián)網(wǎng)方案 ~

    通過將4G通信、COD數(shù)據(jù)處理與低功耗控制集成于Air780EPM芯片,本方案徹底顛覆STM32+外置模組的松散架構(gòu)。實測顯示,設(shè)備啟動時間從STM32
    的頭像 發(fā)表于 05-21 16:51 ?685次閱讀
    COD監(jiān)測革新!<b class='flag-5'>Air780EPM</b>一站式替代STM32+4G<b class='flag-5'>模組</b>的物聯(lián)網(wǎng)<b class='flag-5'>方案</b> ~

    如何解決Air780EPM開發(fā)中的調(diào)試難題?深度解析高效調(diào)試方法

    Air780EPM項目開發(fā)中,調(diào)試效率往往直接影響進度。面對代碼報錯、邏輯漏洞等常見痛點,開發(fā)者亟需一套系統(tǒng)化的方法論。本文將揭秘實戰(zhàn)中驗證的調(diào)試技巧,助您快速定位問題并優(yōu)化代碼流程。
    的頭像 發(fā)表于 05-17 10:46 ?900次閱讀
    如何解決<b class='flag-5'>Air780EPM</b>開發(fā)中的調(diào)試難題?<b class='flag-5'>深度</b><b class='flag-5'>解析</b>高效調(diào)試方法

    大公開!用Air780EPM重構(gòu)水質(zhì)COD監(jiān)測,替代STM32+4G模組的技術(shù)路徑

    方案采用Air780EPM單芯片替代STM32+4G模組,集成COD傳感器驅(qū)動、數(shù)據(jù)加密與4G通信功能。 水質(zhì)COD(化學需氧量)監(jiān)控是評估水體有機污染程度的核心手段,涉及多種技術(shù)、
    的頭像 發(fā)表于 05-16 15:34 ?764次閱讀
    大公開!用<b class='flag-5'>Air780EPM</b>重構(gòu)水質(zhì)COD監(jiān)測,替代STM32+4G<b class='flag-5'>模組</b>的技術(shù)路徑
    秀山| 兖州市| 三明市| 开远市| 太白县| 绥芬河市| 浪卡子县| 南宫市| 嘉善县| 芦溪县| 稷山县| 稻城县| 江安县| 大连市| 华宁县| 阜城县| 宜春市| 盐亭县| 岳阳县| 乌拉特后旗| 敦煌市| 桓仁| 安宁市| 甘肃省| 北流市| 石台县| 扎兰屯市| 石首市| 黎平县| 安新县| 南投市| 九龙县| 荥阳市| 东乌珠穆沁旗| 崇州市| 偏关县| 肥东县| 涡阳县| 辽阳县| 金沙县| 温州市|