资料介绍
描述
描述
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使用单片机实现七人表决器的程序和仿真资料免费下载
- 2.96 MB | 44次下载 | 免费
- 2联想E46L DAOLL6笔记本电脑图纸
- 1.10 MB | 2次下载 | 5 积分
- 3MATLAB绘图合集
- 27.12 MB | 2次下载 | 5 积分
- 4PR735,使用UCC28060的600W交错式PFC转换器
- 540.03KB | 1次下载 | 免费
- 5UCC38C42 30W同步降压转换器参考设计
- 428.07KB | 1次下载 | 免费
- 6DV2004S1/ES1/HS1快速充电开发系统
- 2.08MB | 1次下载 | 免费
- 7模态分解合集matlab代码
- 3.03 MB | 1次下载 | 2 积分
- 8美的电磁炉维修手册大全
- 1.56 MB | 1次下载 | 5 积分
本月
- 1使用单片机实现七人表决器的程序和仿真资料免费下载
- 2.96 MB | 44次下载 | 免费
- 2UC3842/3/4/5电源管理芯片中文手册
- 1.75 MB | 15次下载 | 免费
- 3DMT0660数字万用表产品说明书
- 0.70 MB | 13次下载 | 免费
- 4TPS54202H降压转换器评估模块用户指南
- 1.02MB | 8次下载 | 免费
- 5STM32F101x8/STM32F101xB手册
- 1.69 MB | 8次下载 | 1 积分
- 6HY12P65/HY12P66数字万用表芯片规格书
- 0.69 MB | 6次下载 | 免费
- 7华瑞昇CR216芯片数字万用表规格书附原理图及校正流程方法
- 0.74 MB | 6次下载 | 3 积分
- 8华瑞昇CR215芯片数字万用表原理图
- 0.21 MB | 5次下载 | 3 积分
总榜
- 1matlab软件下载入口
- 未知 | 935119次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4威廉希尔官方网站 仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183335次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73807次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65987次下载 | 10 积分
电子发烧友App






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