![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
clang
文章平均质量分 60
jdh99
电子工程师 邮箱:jdh821@163.com
展开
-
RTOS中间件bror&freertos实现bror接口
这里写自定义目录标题RTOS中间件bror&freertos实现bror接口1. 介绍2. 开源3. bror接口4. 示例RTOS中间件bror&freertos实现bror接口本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.1. 介绍bror中文名巴拉,是宜家的一种手推车。本文中bror被设计成RTOS的中间件,可以支持linux,freertos,rt-thread等操作系统。应用基于bror开发,可以统一接口,在不同RTOS上原创 2021-08-13 21:38:09 · 619 阅读 · 0 评论 -
C语言协程库async
文章目录C语言协程库async介绍开源特点依赖API注意测试用例C语言协程库async本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.介绍基于protothreads开发的C语言协程库。关于protothreads可参考文章:利用Protothread实现实时多任务系统开源github项目地址gitee项目地址特点极小的系统占用,适合单片机等资源有限的场所支持单次运行任务和周期运行任务任务运行在协程之上,不用加锁,数据不会冲突依赖原创 2021-04-15 07:30:42 · 1662 阅读 · 1 评论 -
基于Lamport面包店算法实现的无等待互斥锁
文章目录基于Lamport面包店算法实现的无等待互斥锁nowaitlock介绍开源API测试用例源码nowaitlock.hnowaitlock.c基于Lamport面包店算法实现的无等待互斥锁本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.nowaitlock介绍基于Lamport面包店算法实现的无等待互斥锁。可用于没有提供锁的系统,比如无RTOS的单片机中。开源github上的项目地址gitee上的项目地址API// Copyrigh原创 2021-04-14 08:18:47 · 681 阅读 · 0 评论 -
C语言日志库lagan
文章目录C语言日志库lagan介绍开源功能API测试源码lagan.hlagan.cC语言日志库lagan本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.介绍lagan是C语言日志库,取名来自于宜家的水龙头"拉根"。本包是golang编写的lagan的C语言移植版本:go语言日志库lagan开源github上的项目地址gitee上的项目地址功能支持日志在终端实时打印支持二进制流打印API// 日志级别typedef enum原创 2021-04-12 06:44:54 · 921 阅读 · 0 评论 -
C语言实现标准FIFO
C语言实现标准FIFO本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.说明:本文在C语言中实现了标准FIFO,可以存储任意类型的数据。FIFO返回给应用模块的是一个int类型的索引值,本质是一个指针。通过这层封装,可以简化提供给应用模块的接口。注意:此FIFO为满时不能写入的类型,如果需要的是满时自动覆盖,请自行修改。...原创 2018-11-06 16:30:53 · 18285 阅读 · 12 评论 -
C语言实现升级版标准FIFO
文章目录C语言实现升级版标准FIFO介绍开源API测试源码tzfifo.htzfifo.cC语言实现升级版标准FIFO本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.介绍tzfifo是标准fifo,可以存储任意类型的数据。类型是满了不能写入。tzfifo依赖内存管理包tzmalloc,使用cip可以安装依赖的包:cip:C/C++包管理工具开源github上的项目地址gitee上的项目地址API// TZFifoCreate 创建fifo原创 2021-04-12 04:54:22 · 1478 阅读 · 1 评论 -
C语言实现标准双向链表
C语言实现标准双向链表本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.说明本文使用C语言实现了双向链表,可以存储任意类型的数据。指针类型使用了标准库中类型intptr_t,可以兼容32位和64位系统。链表涉及到指针操作,操作不当易导致内存泄漏。本文虽做了一定程度的封装,但应用到项目中,还是要阅读源码理解后再安全的使用。源码list.h/*...原创 2019-08-14 23:04:13 · 607 阅读 · 0 评论 -
C语言实现升级版标准双向链表TZList
目录C语言实现升级版标准双向链表TZList概述链表操作创建链表创建节点节点数据结构创建操作删除节点遍历链表源码tzlist.htzlist.c测试文件test_tzlist.cC语言实现升级版标准双向链表TZList概述文章《C语言实现标准双向链表》中实现了双向标准双向链表,本文设计了升级版本的标准双向链表TZList,更加好用。链表操作链表的所有操作都进行了封装,使用起来更安全,不容易内存泄漏。创建链表intptr_t list = TZListCreateList(gMid);创建链原创 2020-07-21 21:14:08 · 524 阅读 · 0 评论 -
嵌入式系统内存管理包:tzmalloc
嵌入式系统内存管理包:tzmalloc概述本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.在嵌入式领域并没有好用的内存管理框架,一般是直接使用malloc进行内存分配。当内存泄漏时没有好的办法定位到问题,容易造成稳定性问题。所以一般不建议在单片机中使用malloc,就是出于这方面考虑。本文介绍的tzmalloc是适合于嵌入式领域的内存管理包,可以追踪到每个模块的内存使用,内存使用次数等等。如果有内存泄漏问题,可以很方便的定位到出问题的模块。bgetb原创 2020-08-07 18:01:59 · 863 阅读 · 0 评论 -
C语言MD5计算库
C语言MD5计算库介绍查表法计算crc 16。模型是CRC-16/MODBUS,多项式是8005。开源github上的项目地址gitee上的项目地址API// MD5 len#define MD5_LEN 16// MD5Calc calc md5// out is md5 result.Notice out array size is greater than 16void MD5Calc(uint8_t* data, int len, uint8_t* out);测试测原创 2021-04-11 11:14:44 · 1997 阅读 · 0 评论 -
cip:C/C++包管理工具
文章目录cip:C/C++包管理工具介绍安装开源API使用方法cip:C/C++包管理工具本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.介绍C/C++没有类似python中的pip,golang中的gomod这样的包管理工具,所以编写包管理工具cip解决此问题。cip: C/C++ Install Package.cip是C/C++的包管理器.cip会自动从需求文件中拉取github或者gitee等仓库中的包,也可以自动更新包。安装pip in原创 2021-04-11 10:32:57 · 2189 阅读 · 0 评论 -
计算CRC16的C语言包
计算CRC16的C语言包本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.介绍查表法计算crc 16。模型是CRC-16/MODBUS,多项式是8005。开源github上的项目地址gitee上的项目地址API// Crc16ReadByteFunc read byte for crc16 calculatetypedef uint8_t (*Crc16ReadByteFunc)(int offset);// Checksum check原创 2021-04-11 10:17:33 · 304 阅读 · 0 评论 -
适合于嵌入式系统的C语言单元测试框架:Scunit
适合于嵌入式系统的C语言测试框架CUNIT本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.说明主流语言都有测试框架,在嵌入式领域特别是资源紧缺的单片机工程中没有合适的测试框架。本文发布一种简单的C语言测试框架CUNIT,可以应用于嵌入式领域。测试环境本框架是基于标准C语言编写,对平台无要求,测试环境如下:单片机:STM32F407RTO...原创 2019-09-01 14:39:25 · 2817 阅读 · 0 评论