首页 > 其他分享 >cmd-parser - 一个非常简单好用的命令解析器+EmbedXrpc - 面向单片机的嵌入式小型RPC

cmd-parser - 一个非常简单好用的命令解析器+EmbedXrpc - 面向单片机的嵌入式小型RPC

时间:2024-05-11 15:20:14浏览次数:9  
标签:解析器 cmd m4vgalib 命令 parser 单片机 EmbedXrpc

1、EmbedXrpc - 面向单片机的嵌入式小型RPC

EmbedXrpc类似于Google的gRPC,但是应用场景是单片机。RPC远程调用极大的方便了开发,使得不必关注于协议解析,数据的序列化和反序列化等繁琐的工作。

项目主页: https://gitee.com/snikeguo/EmbedXrpc

EmbedXrpc应用场景:单片机近距离Client/Server交互场景(USB、串口、CAN(如J1939 、ISO15765协议等),)只要是流协议都支持。

项目提供了一个Sample1工程,这是最简单的例子,除了main.cpp的代码是手工写的之外,其他的代码都是工具生成的!此Sample1工程演示了:

1.客户端每一秒向服务端发送1、2 服务端计算出来3后,把3发送给客户端
2.服务端每1秒广播当前的时间,客户端打印到控制台上

2、m4vgalib - 基于单片机的VGA格式视频生成库

m4vgalib库能使得微控制器(比如STM32F40x/1x)输出高质量、高分辨率彩色图形,并且这个库使用很少的外部组件。

项目主页: https://github.com/cbiffle/m4vgalib

该库示例单片机STM32F407是一个Cortex-M4微控制器,它既没有视频控制器,也没有足够的RAM用于任何合理分辨率的帧缓冲区。m4vgalib围绕这一点工作,生成稳定的800x600(或640x480)256色视频。m4vgalib不使用视频控制器,而是使用两个定时器、一个DMA控制器和一个GPIO端口。

尽管m4vgalib在一个不是为任何类型设计的处理器上维护320Mb/s的数据流,但是大多数CPU和硬件资源都留给应用程序使用。为了避免引入抖动,应用程序必须同意在执行的某些阶段避开AHB1。(比如可以使用中断来通知应用程序。)

3、cmd-parser - 一个非常简单好用的命令解析器

cmd-parser是一个非常简单好用的命令解析器,占用资源极少极少,采用哈希算法超快匹配命令。

项目主页: https://github.com/jiejieTop/cmd-parser

简单来说,如果你希望你的开发板,可以通过命令执行一些处理,比如说用串口发一个命令A,开发板就执行A的一些处理,或者,在调试某些AT模组的时候,当收到模组返回的一些指令后,自动执行一些处理。当然,还有其他的地方可以用得上的,大家可以自行挖掘!

cmd-parser特点如下:

1. 用户无需关心命令的存储区域与大小,由编译器静态分配。
2. 加入哈希算法超快速匹配命令,时间复杂度从O(n*m)变为O(n)。
3. 命令支持忽略大小写。
4. 非常易用与非常简洁的代码(不足150行)。

工具类

1、SpeedCrunch - 高精度科学计算器

SpeedCrunch是一款开源的高精度科学计算器,具有快速,键盘驱动的用户界面。

软件主页: https://github.com/speedcrunch/SpeedCrunch

标签:解析器,cmd,m4vgalib,命令,parser,单片机,EmbedXrpc
From: https://www.cnblogs.com/lineAI2022/p/18186560

相关文章

  • 面向单片机的超轻量级的神经网络推理库+单片机上实现动态加载功能的函数库
    1、TinyMaix-面向单片机的超轻量级的神经网络推理库TinyMaix是专为低资源的单片机设计的AI神经网络推理框架,通常被称为TinyML。TinyMaix可以让你在任意单片机上运行轻量级深度学习模型。TinyMaix的设计原则:易用性>移植性>速度>空间。TinyMaix其实是矽速科技(Sipee......
  • 开源相机管理库Aravis例程学习(七)——chunk-parser
    目录简介例程代码函数说明arv_camera_create_chunk_parserarv_camera_set_chunksarv_chunk_parser_get_integer_value简介本文针对官方例程中的:05-chunk-parser做简单的讲解。并介绍其中调用的arv_camera_create_chunk_parser,arv_camera_set_chunks,arv_chunk_parser_get_integer......
  • [4]自定义Lua解析器管理器-------演化脚本V0.7
    使用自定义lua解析管理器调用函数使用自定义委托来调用lua脚本中的多返回值函数和长参数类型的函数。先看代码,依旧是上篇文章中所贴的脚本。新增调用两个函数testFuncusingSystem;usingBaseFramework;usingLuaInterface;usingUnityEngine;usingUnityEngine.Events;us......
  • Cysimdjson:地球上最快的 JSON 解析器
    处理简单的少量数据,对速度是无感的,但如果要处理大量数据,哪怕每次几十毫秒的差异,最终也会差异巨大。比如,你要为客户清洗一遍企业系统数据中,一堆之前留下的庞大的JSON文件。如果你打算用Python自带的JSON模块,那就调整好心态,备足咖啡,享受煎熬吧。但如果有人告诉你,有比Py......
  • 单片机的发展历史及简介
    单片机的发展历史单片机是单片微型计算机(Singlechipmicrocomputer)的简称,又称为微控制器(MicroControlUnit,MCU)。目前,众多厂商将单片机称为微控制器,虽然这样看上去比单片机的名字显得更高级些,但是单片机这个词更能反映其本质特点。单片机是20世纪70年代中期发展起来的一种超大规......
  • 单片机开发编程用什么软件比较好
    今天给大家分享我从业单片机开发10年来必备的神器。下面,zhugedz就介绍下最常用到的一些编程软件。一、集成开发环境(IDE)集成开发环境一般是集写代码、编译代码、调试代码于一身的工具。1.KeilMDKKeil支持目前大多数单片机,Keil根据不同内核单片机,分为几个版本,最常用的就是Ke......
  • 51单片机程序框架之矩阵按键
    /******************************************************************************此程序是依据吴坚鸿程序框架,在普中51A2单片机开发板上的程序练习程序目标:4*4矩阵按键*******************************************************************************/#include<REG51.H......
  • 51单片机程序框架之短按长按
    /******************************************************************************此程序是依据吴坚鸿程序框架,在普中51A2单片机开发板上的程序练习程序目标:按键长按与短按,长按LED亮,短按LED灭****************************************************************************......
  • 51单片机程序框架之带顺序的组合按键触发
    /******************************************************************************此程序是依据吴坚鸿程序框架,在普中51A2单片机开发板上的程序练习程序目标:带顺序的按键组合键,按下后LED取反*****************************************************************************......
  • 51单片机程序框架之单击与双击
    /******************************************************************************此程序是依据吴坚鸿程序框架,在普中51A2单片机开发板上的程序练习程序目标:按键单击与双击,单击LED取反,双击按下LED1取反*******************************************************************......