首页 > 其他分享 >FlexibleButton - 一个小巧灵活的C语言按键处理库+SerialChart - 能将串口数据实时绘制成波形的软件

FlexibleButton - 一个小巧灵活的C语言按键处理库+SerialChart - 能将串口数据实时绘制成波形的软件

时间:2024-05-11 13:53:14浏览次数:21  
标签:shell 串口 按键 端口 C语言 letter FlexibleButton SerialChart

1、FlexibleButton - 一个小巧灵活的C语言按键处理库

FlexibleButton 是一个基于标准 C 语言的小巧灵活的按键处理库,支持单击、连击、短按、长按、自动消抖,可以自由设置组合按键,可用于中断和低功耗场景。

项目主页:https://github.com/murphyzhao/FlexibleButton

该按键库解耦了具体的按键硬件结构,理论上支持轻触按键与自锁按键,并可以无限扩展按键数量。另外,FlexibleButton 使用扫描的方式一次性读取所有所有的按键状态,然后通过事件回调机制上报按键事件。核心的按键扫描代码仅有三行,没错,就是经典的 三行按键扫描算法。使用 C 语言标准库 API 编写,也使得该按键库可以无缝兼容任意的处理器平台,并且支持任意 OS 和 non-OS(裸机编程)。

2、letter shell - 一款开源嵌入式shell工具

对于嵌入式应用而言,尤其是对于没有操作系统,裸机运行的嵌入式应用,迫切的需要一种高效快捷的调试手段进行嵌入式应用的开发。letter shell就是这样一个可以嵌入在程序中的shell,主要面向嵌入式设备,以C语言函数为运行单位,可以通过命令行调用,运行程序中的函数。

项目主页: https://github.com/NevermindZZT/letter-shell

letter shell当前版本是v3.0,其主要功能包含:

1. 命令自动补全
2. 快捷键功能定义
3. 命令权限管理
4. 用户管理
5. 变量支持

letter shell同时支持两种形式的函数定义方式,形如main函数定义的func(int argc, char *agrv[])以及形如普通C函数的定义func(int i, char *str, ...),两种函数定义方式适用于不同的场景。

工具类

1、 SerialChart - 能将串口数据实时绘制成波形的软件

SerialChart是由Sergiu Baluta开发的开源软件,它能用于实时绘制通过串行(RS-232)端口接收到的数据。它可以通过插件和WebView javascript集成来支持其他类型的端口。这个软件采用模块化的设计允许受激励的编码器添加新类型的端口、解码器和显示过滤器。

SerialChart基本数据处理流程为:端口(来自串行/USB端口的原始数据)->解码器(处理数据)->值(显示在屏幕/图表上)。

下载地址:https://github.com/starlino/serialchart

标签:shell,串口,按键,端口,C语言,letter,FlexibleButton,SerialChart
From: https://www.cnblogs.com/lineAI2022/p/18186354

相关文章

  • 串口U盘 - 基于STM32+CH375的郁闷的工程师利器+Arduino Laser Infrared Thermometer -
    1、串口U盘-基于STM32+CH375的郁闷的工程师利器辛勤地打工的工程师们,你们是否曾经有过这样的经历,自己辛辛苦苦为公司写的代码和设计的PCB,却无论如何都不能据为己有?因为公司不允许个人电脑上网,因为公司的电脑居然把USB口也封闭了!这时候,我们是万般地郁闷,但是,作为一个以电子开发......
  • 非常完整的开源无刷电机驱动项目+仅1300行代码的C语言异步网络库+简单到傻瓜都会用的
    1、VESC-非常完整的开源无刷电机驱动项目ESC是ElectricSpeedController的缩写,也就是电子调速控制器,简称电调;项目作者是BenjaminVedder,所以叫VESC,就是本杰明电调。这个项目主要分为几个部分,VESC固件,物料清单,VESC硬件,VESC工具软件,是一个非常完整的软硬件项目,并且配套的软......
  • c语言 数据结构,把数据整体循环左(右)移p个位置
    思路:n为数组的长度(利用线性代数的思路)1.左移:把第1到第p个看成集合A,把第p+1到第n个看成集合B,则需要推导AB->BA,过程(A-1)*(B-1)->( (A-1)*(B-1))-1=BA2.右移:把第1到第n-p个看成集合A,把第n-p+1到第n个看成集合B,则需要推导AB->BA,过程(A-1)*(B-1)->( (A-1)*(B-1))-1 =BA 时......
  • 【C语言】---- sizeof关键字计算变量的大小
    简介sizeof是C语言中一个非常重要的关键字,它用于计算变量、类型和数组的大小。sizeof的作用是获取变量或数据类型在内存中所占用的字节数。在C语言中,所有的数据都有一个确定的大小,这个大小取决于数据类型。例如,一个int类型的数据在大多数系统中占用4个字节,而一个char......
  • c语言 复杂度为O(n)的有序数字字符的去重
     #include<stdio.h>intmain(){//有序列表的去重intarr[]={1,2,2,3,3,3,5,6,7,7,7,7,8,8,9,9,9};intlen=sizeof(arr)/4;intmark[len]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};intk=0;//打印数组printf("原始数组:")......
  • 【C语言】---- 三目运算符
    C语言中的三目运算符是一种简化版的条件语句,它允许您在一行代码中编写ifelse语句。三目运算符的语法如下:condition?expression1:expression2;如果condition为真,则表达式expression1被求值并作为整个表达式的结果;如果condition为假,则表达式expression2被求值并作为整个表达......
  • linuxC语言点灯
    大部分情况下都是使用C语言去编写的。只是在开始部分用汇编来初始化一下C语言环境,比如初始化DDR、设置堆栈指针SP等等,当这些工作都做完以后就可以进入C语言环境,也就是运行C语言代码,一般都是进入main函数。所以我们有两部分文件要做:①、汇编文件汇编文件只是用来完......
  • C语言数据类型篇
    前言写这个系列的文章,其实也是给自己一个交代。之前断断续续的学过C语言,后来发现了很多自己的问题。比如看过的东西过几天就忘记了,有比如要坚持看多少东西后来就坚持不下去了,另外没有一个东西来记录自己对C语言的学习知识点的记录,C语言很重要。是所有语言的母语言,就想在此次学习......
  • 09. C语言内嵌汇编代码
    C语言函数内可以自定义一段汇编代码,在GCC编译器中使用asm或__asm__关键词定义一段汇编代码,并可选添加volatile关键字,表示不要让编译器优化这段汇编代码。内嵌汇编代码格式如下:__asm__(  "汇编代码"  :输出描述  :输入描述  :修改描述);汇编代码部分......
  • C语言函数备忘
    strdup()函数是C语言中的一个标准库函数,它接受一个字符串(字符数组)的指针作为参数,并返回一个指向新分配内存区域的指针,这个新分配的内存区域包含了输入字符串的副本。在内部,strdup()使用malloc()函数来为新字符串分配内存,如果内存分配成功,它会将原字符串的内容复制到新分配的空间中......