資料介紹
描述
描述
OSCUP
是一種開源 UART 協議,專為與 ESP32 ARM 處理器配合使用而設計。詳細記錄的代碼有助于弄清楚如何在 UART 端口上實現自定義協議。使用此協議,您可以傳輸和接收由固定前導碼跟蹤的數據。它為每個發送的數據包實現 ACK 和 NACK,以管理錯誤或丟失的數據包。
怎么運行的
它依賴于 Espressiff 提供的原始庫,例如 /device/uart.h 用于連接低級硬件和功能。該協議提供兩個功能write
,read
用于發送和接收數據。當您創建一個新的 Oscup 對象時,您需要向它傳遞一個 ID,該 ID 用于跟蹤發送數據包的設備。可選地,Oscup 對象可以被實例化,指定 UART 端口和相關的 UART TX 引腳和 UART RX 引腳。默認情況下,通信發生在 UART 0,或者更確切地說是 USB 端口。
事實上,可以使用 OSCUP 進行計算機和 ESP32 之間或兩個 ESP32 之間的通信。
命令
每次協議在 UART 上寫入數據時,它都會在數據包中插入一條命令。該命令是強制性的,否則您可能會問自己為什么要使用協議(只需使用 arduino Serial)。顯然,在接收方,您必須區分接收到的命令。有可用的 4 個主要命令:
-
SHARE
:此命令表示發送方只想與接收方共享此數據(出于次要原因)。如果您只想在其他設備上打印數據,則可以使用它。 -
CONFIRM
:此命令表示將發送的數據是操作的結果(例如,我們按下設備 1 上的按鈕,我們將數據發送到設備 2,我們希望設備 2 不僅打印此數據,而且存儲它們). -
ACK
: 用于告訴發送方,接收方已經收到數據包 -
NACK
: 用于告訴發送方,接收方還沒有收到數據包;發件人將嘗試再次發送 顯然,您可以配置您喜歡執行每個命令的操作。我們建議不要使用 ACK 和 NACK,至于其他兩個,前面的指示只是我們為使用這兩個命令定義的指南。另外,你可以在arduino上配置新命令(command = uint8_t),直接在write函數中發送
公共職能
-
begin
: 初始化 UART 參數并將其轉發給控制硬件。必須在 void setup() 中調用它。它以波特率作為唯一的輸入參數,它將決定通信波特率。 -
write
:寫函數接受一個命令“用戶定義”,有效負載的長度和有效負載,其長度固定為 40 字節。此函數將此數據寫入 UART 并返回錯誤代碼。 -
read
:它讀取傳入的數據并將它們插入 packet_t 結構中,該結構在 .h 文件中定義。如果一切正常,它返回讀取緩沖區的長度,否則返回負錯誤。 -
get_timer
: 返回定時器的計數器 -
get_APB_clk
: 返回 APB 的頻率。通常 APB 用于設置嵌入式處理器上的外設頻率。
貢獻
我們是 Daniel 和 Riccardo,都是大學的 AI 學生。我們開發了這個協議來從 ESP32 獲取數據來做 AI 的事情(在我們的 Git Repo 上查看 FiremanSam)。
?
?
- labview超快自定義控件制作和普通自定義控件制作 13次下載
- 自定義神經網絡對象識別開源分享
- labview自定義控件 18次下載
- 自定義視圖組件教程案例 14次下載
- Labview自定義右鍵快捷菜單功能實用小技巧 26次下載
- C#與STM32自定義通信協議
- NRF52832在OTA基礎上,同時支持UART升級(自定義串口協議、可遠程升級)
- ESP32 之 ESP-IDF 教學(九)—— 串口通信(UART)
- 制作 NodeMCU ESP32 自定義固件
- 串口屏LUA教程10-自定義串口指令
- Xilinx基本自定義OpenRISC系統硬件教程 93次下載
- 1602自定義字符 1次下載
- 自定義函數測試學習工程
- 基于自定義協議的網絡地理信息系統
- matlab自定義函數調用的方法
- TSMaster 自定義 LIN 調度表編程指導 714次閱讀
- 基于YOLOv8實現自定義姿態評估模型訓練 2895次閱讀
- 添加自定義屬性控制fridaserver啟動和停止 1785次閱讀
- 一個小而巧的自定義嵌入式軟件通信協議 907次閱讀
- 什么是自定義序列 1221次閱讀
- 自定義特性能做什么? 846次閱讀
- 如何自定義函數或局部腳本 1481次閱讀
- 如何在Vivado中更改自定義的Interface 2947次閱讀
- 深入理解RPC自定義網絡協議 2601次閱讀
- 三種自定義彈窗UI組件封裝的實現 3191次閱讀
- 基于一個micro USB連接器串行IC對ESP32芯片實現編程 3301次閱讀
- Glib創建自定義事件源的方法 3028次閱讀
- 如何給EOS賬號設置自定義權限 1496次閱讀
- erlang如何自定義_ERLANG環境搭建 1527次閱讀
- LCD1602自定義點陣字符詳解 1.3w次閱讀
下載排行
本周
- 1人形機器人電機驅動和傳感報告
- 4.27 MB | 9次下載 | 免費
- 2Altium Designer元件庫
- 17.11 MB | 6次下載 | 免費
- 324V2A開關電源PCB資料分享
- 0.23 MB | 4次下載 | 1 積分
- 4GD100PIX120C6SNA規格書
- 0.98 MB | 3次下載 | 免費
- 5Multisim模擬電路仿真教程
- 1.93 MB | 1次下載 | 3 積分
- 6BK7258英文規格書
- 1.67 MB | 1次下載 | 免費
- 7RA4L1硬件手冊
- 21.89 MB | 1次下載 | 免費
- 8RA4L1_SENSOR-V1原理圖
- 754.36 KB | 1次下載 | 免費
本月
- 1晶體三極管的電流放大作用詳細說明
- 0.77 MB | 32次下載 | 2 積分
- 2雙極型三極管放大電路的三種基本組態的學習課件免費下載
- 4.03 MB | 25次下載 | 1 積分
- 3AIWA HS-J303 MKⅡ維修手冊
- 22.47 MB | 24次下載 | 10 積分
- 4九陽豆漿機高清原理圖
- 2.47 MB | 23次下載 | 1 積分
- 5多級放大電路的學習課件免費下載
- 1.81 MB | 21次下載 | 2 積分
- 6AIWA HS-J202/HS-J202M/HS-J800維修手冊
- 13.60 MB | 16次下載 | 10 積分
- 7東芝彩色電視機29SF6C維修說明書
- 4.86 MB | 9次下載 | 1 積分
- 8人形機器人電機驅動和傳感報告
- 4.27 MB | 9次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191382次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183338次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81586次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論