《痞子衡嵌入式半月刊》 第 103 期

· 浏览次数 : 0

小编点评

【嵌入式领域半月刊】第103期:不可不知的五个项目与工具 大家好,这里是痞子衡嵌入式半月刊的第103期。本周,我们将为大家带来五个嵌入式领域的项目、工具以及一些热点新闻。希望大家喜欢! 项目类 1. CherryUSB - 小而美的嵌入式USB主从协议栈 CherryUSB 是一个专为嵌入式系统设计的 USB 主从协议栈,具有高度的可移植性和简洁的代码结构。它包含了丰富的 API 和驱动模板,使得开发者能够轻松地实现 USB 接口。 项目地址:[https://github.com/cherry-embedded/CherryUSB](https://github.com/cherry-embedded/CherryUSB) 2. tslib - 嵌入式中使用最广泛的电阻触摸屏校正算法库 tslib 是一个轻量级的触摸屏校正算法库,广泛应用于嵌入式系统中。它提供了丰富的功能,如滤波、去抖、校准等,能够帮助开发者优化触摸屏驱动的性能。 项目地址:[https://github.com/libts/tslib](https://github.com/libts/tslib) 3. cotParam - 基于C语言的轻量级参数管理框架 cotParam 是一个用于管理软件中各类系统数据的框架,它采用了表驱动的方式来统一管理参数,使得参数管理更加高效和易于维护。 项目地址:[https://gitee.com/cot_package/cot_param](https://gitee.com/cot_package/cot_param) 4. cotMenu - 轻量级多级菜单控制框架 cotMenu 是一个独立的菜单框架,它通过降低耦合性和提供快捷的操作方式,提高了程序的移植性和易用性。无论是单级菜单还是多级菜单,cotMenu 都能轻松应对。 项目地址:[https://gitee.com/cot_package/cot_menu](https://gitee.com/cot_package/cot_menu) 5. cotLed - 轻量级LED控制模块 cotLed 是一个轻量级的 LED 控制软件框架,它提供了丰富的接口和灵活的配置方式,使得开发者能够轻松地控制 LED 的各种状态和模式。 项目地址:[https://gitee.com/cot_package/cot_led](https://gitee.com/cot_package/cot_led) 热点新闻 农历新年将至,我们特别推出了“农历年分二十四节气”专题报道。在每个交节之日,我们将准时发布一期半月刊,为大家带来最新的行业动态和技术文章。 欢迎订阅我们的博客、CSDN、知乎和微信公众号,获取更多嵌入式领域的资讯和深度文章。同时,你还可以扫描文末的二维码,在手机上第一时间阅读本期周刊。 最后,感谢大家对痞子衡嵌入式半月刊的支持和关注!我们期待与你一起探索嵌入式技术的无限可能!

正文

痞子衡嵌入式半月刊: 第 103 期

这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。

本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。

上期回顾《痞子衡嵌入式半月刊: 第 102 期》

唠两句

历史上的今天:2012年7月1日,全球增加一秒,出现7:59:60

本期共 5 个项目,希望对你有帮助!

项目类

1、CherryUSB - 小而美的嵌入式USB主从协议栈

CherryUSB 是一个小而美的、可移植性高的、用于嵌入式系统(带 USB IP)的 USB 主从协议栈。

为了方便用户学习 USB 基本知识、枚举、驱动加载、IP 驱动,因此 CherryUSB 代码具备以下优点:

- 代码精简,逻辑简单,无复杂 C 语言语法
- 树状化编程,代码层层递进
- Class 驱动和 porting 驱动模板化、精简化
- API 分类清晰(从机:初始化、注册类、命令回调类、数据收发类;主机:初始化、查找类、数据收发类)

为了方便用户使用 USB 接口,考虑到用户学习过 uart 和 dma,因此 CherryUSB 设计的数据收发类接口具备以下优点:

- 等价于使用 uart tx dma/uart rx dma
- 收发长度没有限制,用户不需要关心 USB 分包过程(porting 驱动做分包过程)

考虑到 USB 性能问题,尽量达到 USB 硬件理论带宽,因此 CherryUSB 设计的数据收发类接口具备以下优点:

- Porting 驱动直接对接寄存器,无抽象层封装
- Memory zero copy
- IP 如果带 DMA 则使用 DMA 模式(DMA 带硬件分包功能)
- 长度无限制,方便对接硬件 DMA 并且发挥 DMA 的优势
- 分包功能在中断中处理

2、tslib - 嵌入式中使用最广泛的电阻触摸屏校正算法库

tslib 是嵌入式系统里用得最多的触摸屏校正算法库,其充分利用了矩阵的平移,旋转和缩放等运算。tslib 常用于对电阻触摸屏的功能调试,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。

3、cotParam - 基于C语言的轻量级参数管理框架

cotParam 是一个参数管理框架代码,其功能就是统一管理软件中的各类系统数据参数。该参数管理并不涉及数据是如何储存的。因为有些系统数据并不需要储存起来,只需要进行管理而已。

cotParam 主要特点有:

1. 采用表驱动方式统一管理所有参数,包括缺省值、最小值和最大值等
2. 采用宏定义快速注册和添加参数进行管理
3. 支持基本类型参数和字符串参数
4. 支持序列化和反序列化,便于保存和读取校验
5. 可通过串口协议或其他协议调用接口修改参数

4、cotMenu - 轻量级多级菜单控制框架程序

cotMenu 是一个降低了耦合性,完全独立的菜单框架,菜单显示风格和显示平台完全由自己根据需求设计,而菜单操作统一由菜单模块处理即可,提高程序的移植性。

cotMenu 主要特点有:

1. 采用链表方式实现多级菜单(通过配置选择采用动态分配或者数组实现)
2. 菜单框架作为独立模块,拒绝和按键模块、显示模块进行耦合
3. 在十分独立的情况下,也保证不受菜单的显示风格和显示平台影响,可自由选择设计显示风格和显示平台
4. 快捷菜单操作等
5. 可以采用表驱动的方式初始化菜单,提高代码的可读性

5、cotLed - 轻量级LED控制模块

cotLed 是一个轻量级的LED控制软件框架,可以十分方便地控制LED的各种状态,甚至多个LED组合控制,如跑马灯等。

cotLed 主要特点有:

1. 移植方便,无需修改,只需要初始化提供读取相关IO 状态写入函数即可
2. 丰富的接口实现,
   -- 可以实现单个LED亮灭、翻转、闪烁、呼吸灯、自定义(如多少秒快闪几次等)等多种要求的功能
   -- 可以实现多个LED组合跑马灯、流水灯等功能
   -- 同时支持上述模式的次数设置等
3. 代码量少,且代码注释丰富,风格统一,便于阅读和使用
4. 如果设置某个LED为呼吸灯模式,则需要保证 cotLed_Ctrl调用周期为1毫秒(优先级需要最高,或者定时器调度效果最好)
5. 非阻塞任务,因此裸机和操作系统都适用(操作系统下非线程安全,最好可以使用读写锁,如果没有读写锁则至少使用互斥锁)

欢迎订阅

文章会同时发布到我的 博客园主页CSDN主页知乎主页微信公众号 平台上。

微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

与《痞子衡嵌入式半月刊》 第 103 期相似的内容:

《痞子衡嵌入式半月刊》 第 103 期

痞子衡嵌入式半月刊: 第 103 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回

《痞子衡嵌入式半月刊》 第 104 期

痞子衡嵌入式半月刊: 第 104 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回

《痞子衡嵌入式半月刊》 第 102 期

痞子衡嵌入式半月刊: 第 102 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回

《痞子衡嵌入式半月刊》 第 101 期

痞子衡嵌入式半月刊: 第 101 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回

《痞子衡嵌入式半月刊》 第 100 期

痞子衡嵌入式半月刊: 第 100 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回

《痞子衡嵌入式半月刊》 第 98 期

痞子衡嵌入式半月刊: 第 98 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回顾

《痞子衡嵌入式半月刊》 第 66 期

痞子衡嵌入式半月刊: 第 66 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回顾

《痞子衡嵌入式半月刊》 第 67 期

痞子衡嵌入式半月刊: 第 67 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回顾

《痞子衡嵌入式半月刊》 第 68 期

痞子衡嵌入式半月刊: 第 68 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回顾

《痞子衡嵌入式半月刊》 第 69 期

痞子衡嵌入式半月刊: 第 69 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回顾