自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (2)
  • 收藏
  • 关注

原创 CJSON 源码详解与实际应用

在键值对结构体中,当该键值对的值是一个嵌套的JSON数据或者一个数组时,由child指针指向该条新链表。valuestring:如果键值类型(type)是字符串,则将该指针指向键值;valuedouble:如果键值类型(type)是浮点数,则将该指针指向键值;valueint:如果键值类型(type)是整数,则将该指针指向键值;String:用于表示该键值对的名称;type:用于表示该键值对中值的类型;next指针:指向下一个键值对。prev指针指向上一个键值对。

2023-10-26 09:15:49 85

原创 CH9121与HTTP的结合(HTTP协议的解析,以及不同类型把请求的回复)

HTTP协议(超文本传输协议HyperText Transfer Protocol),它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。注意:客户端与服务器的角色不是固定的,一端充当客户端,也可能在某次请求中充当服务器。这取决与请求的发起端。HTTP协议属于应用层,建立在传输层协议TCP之上。客户端通过与服务器建立TCP连接,之后发送HTTP请求与接收HTTP响应都是通过访问Socket接口来调用TCP协议实现。HTTP是一种无状态(stateless) 协议,HTTP。

2023-10-24 15:42:56 281 4

原创 YModem协议-嵌入式系统远程升级OTA,BootLoad文件传输轻量化协议

Xmodem、Ymodem和Zmodem协议是最常用的三种通信协议。Xmodem协议是最早的,传输128字节信息块。Ymodem是Xmodem的改进版协议,具有传输快速稳定的优点。它可以一次传输1024字节的信息块,同时还支持传输多个文件。平常所说的Ymodem协议是指的Ymodem-1K,除此还有Ymodem-g(没有CRC校验,不常用)。YModem-1K用1024字节信息块传输取代标准的128字节传输,数据的发送回使用CRC校验,保证数据传输的正确性。

2023-10-20 17:25:46 2784 4

原创 STM32F334系列与G474系列HRTIMCubeMax配置讲解以及四路互补全桥

文章的主要目的就是介绍HRTIM的相关使用以及配置过程。相较于普通TIM,HRTIM最显著的特点就是可以倍频到最大的32倍,像F334可以达到4.68GHZ, G474可以达到5.44GHZ, 这就可以使得定时器即使工作在较高频率下,仍有较高的分辨率。因此它主要用于数字电源、照明,电源耗材,太阳能逆变器 ,射频电路 和无线充电等应用场合。开发模组:STM32G474RE开发环境:STM32CubeMX最新版+Keil5HRTIM的基本构成1.构成。

2023-10-20 10:34:24 8025 2

原创 嵌入式系统各单元数据同步框架适用于网状,线性通信网络,适用于嵌入式操作系统以及状态机裸机开发

在强度稍微高一点的项目,可能有五个模块甚至更多,你可能使用modbus协议来解决各模块的通信问题,但是这只适用于主从场景,在需要双向通信的场景就没那么适用了,这是这个框架诞生的意义。首先注册一个需要同步的数据表:数据名,数据地址, 数据类型, 初始值,是否上电同步, 数据同步事件回调,这张表双端都是一样的,执行端如果有需要就配置相应的回调。- horizontal: 单元格的横坐标- vertical: 单元格的纵坐标- type: 自定义类型 af_type,表示单元格的数据类型。

2023-10-17 15:15:49 237 3

原创 一个强大的嵌入式按键处理驱动库-AhFeiButton(C语言嵌入式版)长按,短按,双击,单机,自锁按键等

是一个用于小型嵌入式平台的按键处理库。采用了类似MVC的架构:驱动层, 逻辑层,应用层。理论上支持普通按键与自锁按键,并可以无限扩展按键数量, 支持的事件有:单击,双击,短按,长按,多次点按,按下,松开。另外,AhFeiButton使用扫描的方式一次性读取所有所有的按键状态,然后通过事件回调机制上报按键事件。

2023-08-28 15:45:10 383

原创 非常实用的裸机多任务实现方法

2) 我想要一个低速率的PWM方波,1k以下,不想用定时器实现,想用软件实现,于是乎,又是一大堆标志位变量和复杂的逻辑!3)我想要设置一个重复间隔执行动作,比如说开门关门,开门后延时一段时间在关门,再间隔一段时间在开门,这个又需要更加庞大的标志位和变量,维护?name:每个任务都有一个固定的任务名,通过这个任务名去添加与删除任务,不会存在相同的任务名,如有相同的自带机制会顶替原有任务。count:这个任务需要执行多少次,也就是上面说的,闪烁灯,闪多少次,开关门多少次,如果设置为-1为无限次数,不会终止。

2023-08-25 16:44:50 1107 1

原创 接收发送循环队列C语言版

1.适用于任何通信方式,主要是定时发送场景,已经线程之间的数据交互,可自定义数据类型,不局限于基本数据类型。2.接口完善,实用性强,已分享给一部分人使用,反响非常好。3.关注作者不迷路,更多使用的C实用库待你挖掘。4.无需移植可直接使用。

2023-08-25 14:09:41 200

原创 【FLASH】STM32内部Flash模拟EEPROM磨损均衡算法--存储设备擦写均衡自带掉电保护接口-如何在同等存储空间下增加FLASH寿命呢?往下看-STM32F334实现FLASH擦写均衡

erase_flash:这里的长度其实无效,这里需要提供的是擦除一页的接口,这里也许会有人说NAND Flash,最小擦除单位为1块,也就是64页,怎么办呢?ReadAddr:读地址,由于查找最后一块有效数据地址随着分区的大小,查找时间会相应的变长,所以在系统上电初始化的时候将最后一块有效数据块首地址记录,之后就不用再从子分区0查找了,提高系统执行效率,这个保留在这,暂未实现,后面的版本会加入。打个比方:周一到周五的菜单,每天固定三个菜,要进行存储的话,就需要提供五组数据,那么日期就是ID,用来区分周几。

2023-07-22 10:33:20 2798 1

STM32存储设备磨损均衡算法与数据结构

STM32内部Flash的写寿命大约是1万次,假如我们在其Flash中存储数据,每天100次写操作,100天后Flash就无法继续可靠使用了;外部FLASH,比如说W25Q32,擦写次数也只有十万次,在高频率读写下也支撑不了多久, 本文采取了一种非常简单的方法,将Flash的使用寿命无限延长,取决于你为它分配的存储区大小。 主要思想就是将FLASH 分配一块区域给我们的管理机,然后用索引的方式累积写FLASH,中途不进行擦写,在存满整个分区时进行统一擦写,读取根据ID进行读取,并且加上了数据校验,异常回调。主要用于存储系统配置,运行记录等。支持多个存储管理机管理不同的区域.

2023-07-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除