资料介绍
描述
描述
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次下载 | 免费
电子发烧友App





创作
发文章
发帖
提问
发资料
发视频
上传资料赚积分
评论