资料介绍
描述
描述
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超快自定义控件制作和普通自定义控件制作 11次下载
- 自定义神经网络对象识别开源分享
- labview自定义控件 16次下载
- 自定义视图组件教程案例 14次下载
- Labview自定义右键快捷菜单功能实用小技巧 26次下载
- C#与STM32自定义通信协议
- NRF52832在OTA基础上,同时支持UART升级(自定义串口协议、可远程升级)
- ESP32 之 ESP-IDF 教学(九)—— 串口通信(UART)
- 制作 NodeMCU ESP32 自定义固件
- 串口屏LUA教程10-自定义串口指令
- Xilinx基本自定义OpenRISC系统硬件教程 93次下载
- 1602自定义字符 1次下载
- 自定义函数测试学习工程
- 基于自定义协议的网络地理信息系统
- matlab自定义函数调用的方法
- TSMaster 自定义 LIN 调度表编程指导 389次阅读
- 基于YOLOv8实现自定义姿态评估模型训练 2397次阅读
- 添加自定义属性控制fridaserver启动和停止 1350次阅读
- 一个小而巧的自定义嵌入式软件通信协议 758次阅读
- 什么是自定义序列 1028次阅读
- 自定义特性能做什么? 700次阅读
- 如何自定义函数或局部脚本 1305次阅读
- 如何在Vivado中更改自定义的Interface 2658次阅读
- 深入理解RPC自定义网络协议 2384次阅读
- 三种自定义弹窗UI组件封装的实现 2890次阅读
- 基于一个micro USB连接器串行IC对ESP32芯片实现编程 3063次阅读
- Glib创建自定义事件源的方法 2834次阅读
- 如何给EOS账号设置自定义权限 1414次阅读
- erlang如何自定义_ERLANG环境搭建 1467次阅读
- LCD1602自定义点阵字符详解 1.3w次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多