国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

本文聚焦Air780EPM的CAN通信能力,結合LuatOS實時操作系統,從底層驅動到應用層協議,詳細拆解如何實現工業級CAN總線數據傳輸,助力開發者快速落地項目。

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

一、Can操作庫常量定義

1.1 CAN工作模式常量

can.MODE_NORMAL:

正常工作模式;

can.MODE_LISTEN:

監聽模式(僅接收,不發送);

can.MODE_TEST:

自測模式(自收自發);

can.MODE_SLEEP:

休眠模式。

1.2 CAN狀態常量

can.STATE_STOP:

停止工作狀態;

can.STATE_ACTIVE:

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

can.STATE_PASSIVE:

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

can.STATE_BUSOFF:

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

can.STATE_LISTEN:

監聽狀態(選擇監聽模式時進入);

can.STATE_TEST:

自收自發狀態(選擇自測模式時進入);

can.STATE_SLEEP:

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

1.3 回調消息類型常量

can.CB_MSG:

有新數據寫入緩存;

can.CB_TX:

數據發送完成(需通過param判斷成功/失敗);

can.CB_ERR:

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

can.CB_STATE:

總線狀態變更,后續param參數是新的狀態,也可以用can.state讀出。

1.4 幀格式常量

can.EXT:擴展幀;

can.STD:標準幀。

二、Can操作庫API函數

wKgZO2gRubeAQdadAAi5_7cGeh4708.png

2.1 初始化與配置

1)初始化CAN總線

can.init(id, rx_message_cache_max)

參數:

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

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

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

示例:

wKgZO2gRufeAQgXYAABNDLe5yuQ955.png

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

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

參數:

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)設置CAN總線工作模式

can.mode(id, mode)

參數:

id:總線ID。

mode:

模式常量(如 can.MODE_NORMAL)。

返回值:boolean。

示例:

wKgZPGgRumOAdFSPAABMWd0g-8Q844.png

4)設置消息過濾規則

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

參數:

id:總線ID。

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

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

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

返回值:boolean。

注意:具體實現依賴硬件特性。

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

參數:

id:總線ID。

node_id:節點 ID。

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

返回值:boolean。

示例:

wKgZO2gRupeAI3mCAABNo0Bwtiw035.png

2.2 數據與收發

1)發送CAN消息

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

參數:

id:總線ID。

msg_id:消息ID。

id_type:

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

RTR:

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

need_ack:

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

data:

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

返回值:無。

示例:

wKgZO2gRusyARjpWAABIg2VwJu0252.png

2)接收CAN消息

can.rx(id)

參數:id:總線ID。

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

示例:

wKgZO2gRuvmAYkeRAABZA62SthM866.png

2.3 狀態與事件

1)注冊事件回調函數

can.on(id, func)

參數:

id:總線ID。

func:回調函數(參數:id, type, param)。

示例:

wKgZO2gRuzCAbviwAADOxJdoVwI511.png

2)獲取當前總線狀態

can.state(id)

參數:id:總線ID。

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

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

參數:id:總線ID。

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

參數:id:總線ID。

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

參數:id:總線ID。

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

參數:on_off(布爾值)。

三、CAN開發相關注意事項

3.1 初始化順序

wKgZPGgRu6GAYfS9AACmhO3XfNE642.png

3.2 消息發送與接收

使用can.tx發送消息,確保參數正確;通過can.rx拉取消息,或在回調中處理can.CB_MSG。

3.3 狀態監控

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

3.4 調試與性能

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

3.5 常見問題

如何解決can.STATE_BUSOFF離線狀態?

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

如何確保消息發送成功?

通過can.CB_TX回調判斷發送結果,或檢查返回值(若API支持)。

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

增大rx_message_cache_max,或在回調中及時處理消息。

wKgZPGgRu_uAF6U9AAZu0-Z2mm8812.pngwKgZPGgRvAyAZ3ngAAIqztab9BY129.png

更多最新開發資料詳見:www.air780epm.cn

今天的內容就分享到這里了~

審核編輯 黃宇

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

    關注

    5

    文章

    105

    瀏覽量

    18886
  • 總線通信
    +關注

    關注

    0

    文章

    65

    瀏覽量

    12224
  • LuatOS
    +關注

    關注

    0

    文章

    156

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    Air780EPM嵌入式開發:LuatOS的MQTT通信實踐

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

    實戰Air780EPM:構建4G共享網關,服務WiFi與有線設備!

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

    LuatOS嵌入式開發實戰:Air780EPM與MQTT通信

    ?本教程聚焦于LuatOSAir780EPM開發板上的應用,演示如何通過腳本實現MQTT協議通信,助力物聯網設備快速聯網。 一、MQTT 協議詳解 ? 1.1 什么是 MQTT? MQTT
    的頭像 發表于 09-29 18:10 ?520次閱讀
    <b class='flag-5'>LuatOS</b>嵌入式開發實戰:<b class='flag-5'>Air780EPM</b>與MQTT<b class='flag-5'>通信</b>

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

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

    優化你的設計:Air780EPM場景化ADC硬件電路指南!

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

    Air780EPM — ADC硬件電路設計:場景化優化與實踐!

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

    解鎖Air780EPM:N種GPIO操控LED的實戰技巧!

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

    血淚教訓總結:Air780EPMLuatOS二次開發——OneWire協議調試注意事項

    的OneWire通信,大幅提升項目開發效率。 一、LuatOS 及 OneWire 說明 ? LuatOS 支持 OneWire 通信協議,本文以 DS18B20 溫度傳感器和
    的頭像 發表于 03-20 17:52 ?1148次閱讀
    血淚教訓總結:<b class='flag-5'>Air780EPM</b>的<b class='flag-5'>LuatOS</b>二次開發——OneWire協議調試注意事項

    新手必看!4G模組Air780EPM——GPIO的設計說明

    Air780EPM的GPIO設計需兼顧硬件可靠性與軟件靈活性,開發者應基于具體應用場景權衡復用功能優先級,并遵循電源管理規范以延長設備生命周期。通過模塊化配置與精細化調試,可最大化釋放模組性能潛力
    的頭像 發表于 03-20 17:48 ?771次閱讀
    新手必看!4G<b class='flag-5'>模組</b><b class='flag-5'>Air780EPM</b>——GPIO的設計說明

    手把手教你!4G模組Air780EPM——GPIO的設計說明

    4G模組Air780EPM作為廣和通推出的高性能Cat.1bis無線通信模塊,憑借其低功耗、高集成度及豐富的外設接口,在工業物聯網、智能終端、車載設備等領域展現出卓越的適配性。 一、概述
    的頭像 發表于 03-17 16:07 ?1117次閱讀
    手把手教你!4G<b class='flag-5'>模組</b><b class='flag-5'>Air780EPM</b>——GPIO的設計說明

    快速上手!4G模組Air780EPM的供電設計以及選型推薦

    ,PCB 布局要縮短走線減少干擾。針對鋰電池和長待機場景,還提供了充電管理和升壓電路設計技巧,幫工程師避開常見問題,確保模塊穩定省電,希望能夠幫助到你! 常見的物聯網應用場景Air780EPM的供電方式有如下三種: 一、LDO供電方式 使用LDO電源芯片線性降壓的供電
    的頭像 發表于 03-10 17:53 ?877次閱讀
    快速上手!4G<b class='flag-5'>模組</b><b class='flag-5'>Air780EPM</b>的供電設計以及選型推薦

    Air780EPM 模塊串口電路設計硬件指導

    串口作為Air780EPM模塊的核心通信接口,承擔著設備控制、數據傳輸及外設交互等關鍵功能,在物聯網終端、智能設備、工業自動化等場景中不可或缺。 一、概述 ? 串口作為 Air780EPM 模塊最最
    的頭像 發表于 03-07 17:56 ?788次閱讀
    <b class='flag-5'>Air780EPM</b> 模塊串口電路設計硬件指導

    4G模組Air780EPM的開機啟動及外圍電路設計!

    本文介紹了4G模組——Air780EPM 模塊開機的完整硬件設計指南,涵蓋供電要求、管腳配置、電路示例及常見問題排查方法,希望能夠幫助大家避免設計錯誤,確保模塊穩定啟動!常見開機電路。 ? 這些內容
    的頭像 發表于 03-07 16:06 ?1061次閱讀
    4G<b class='flag-5'>模組</b><b class='flag-5'>Air780EPM</b>的開機啟動及外圍電路設計!

    初學者必看!4G模組Air780EPM的開機啟動及外圍電路設計

    本文介紹了4G模組——Air780EPM 模塊開機的完整硬件設計指南,涵蓋供電要求、管腳配置、電路示例及常見問題排查方法,希望能夠幫助大家避免設計錯誤,確保模塊穩定啟動!常見開機電路。 ? 這些內容
    的頭像 發表于 03-07 16:02 ?838次閱讀
    初學者必看!4G<b class='flag-5'>模組</b><b class='flag-5'>Air780EPM</b>的開機啟動及外圍電路設計