![](https://img-blog.csdnimg.cn/d9b7dda6cf174a23a1d20c36b2222a11.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
嵌入式
文章平均质量分 74
主要以STM芯片为主,使用丰富的外设资源开发产品
我不是阿沸
喜欢骑摩托的IT男
展开
-
非常实用的裸机多任务实现方法
2) 我想要一个低速率的PWM方波,1k以下,不想用定时器实现,想用软件实现,于是乎,又是一大堆标志位变量和复杂的逻辑!3)我想要设置一个重复间隔执行动作,比如说开门关门,开门后延时一段时间在关门,再间隔一段时间在开门,这个又需要更加庞大的标志位和变量,维护?name:每个任务都有一个固定的任务名,通过这个任务名去添加与删除任务,不会存在相同的任务名,如有相同的自带机制会顶替原有任务。count:这个任务需要执行多少次,也就是上面说的,闪烁灯,闪多少次,开关门多少次,如果设置为-1为无限次数,不会终止。原创 2023-08-25 16:44:50 · 601 阅读 · 1 评论 -
一个强大的嵌入式按键处理驱动库-AhFeiButton(C语言嵌入式版)长按,短按,双击,单机,自锁按键等
是一个用于小型嵌入式平台的按键处理库。采用了类似MVC的架构:驱动层, 逻辑层,应用层。理论上支持普通按键与自锁按键,并可以无限扩展按键数量, 支持的事件有:单击,双击,短按,长按,多次点按,按下,松开。另外,AhFeiButton使用扫描的方式一次性读取所有所有的按键状态,然后通过事件回调机制上报按键事件。原创 2023-08-28 15:45:10 · 313 阅读 · 0 评论 -
STM32F334系列与G474系列HRTIMCubeMax配置讲解以及四路互补全桥
文章的主要目的就是介绍HRTIM的相关使用以及配置过程。相较于普通TIM,HRTIM最显著的特点就是可以倍频到最大的32倍,像F334可以达到4.68GHZ, G474可以达到5.44GHZ, 这就可以使得定时器即使工作在较高频率下,仍有较高的分辨率。因此它主要用于数字电源、照明,电源耗材,太阳能逆变器 ,射频电路 和无线充电等应用场合。开发模组:STM32G474RE开发环境:STM32CubeMX最新版+Keil5HRTIM的基本构成1.构成。原创 2023-10-20 10:34:24 · 5989 阅读 · 2 评论 -
嵌入式系统各单元数据同步框架适用于网状,线性通信网络,适用于嵌入式操作系统以及状态机裸机开发
在强度稍微高一点的项目,可能有五个模块甚至更多,你可能使用modbus协议来解决各模块的通信问题,但是这只适用于主从场景,在需要双向通信的场景就没那么适用了,这是这个框架诞生的意义。首先注册一个需要同步的数据表:数据名,数据地址, 数据类型, 初始值,是否上电同步, 数据同步事件回调,这张表双端都是一样的,执行端如果有需要就配置相应的回调。- horizontal: 单元格的横坐标- vertical: 单元格的纵坐标- type: 自定义类型 af_type,表示单元格的数据类型。原创 2023-10-17 15:15:49 · 213 阅读 · 3 评论 -
接收发送循环队列C语言版
1.适用于任何通信方式,主要是定时发送场景,已经线程之间的数据交互,可自定义数据类型,不局限于基本数据类型。2.接口完善,实用性强,已分享给一部分人使用,反响非常好。3.关注作者不迷路,更多使用的C实用库待你挖掘。4.无需移植可直接使用。原创 2023-08-25 14:09:41 · 131 阅读 · 0 评论 -
【FLASH】STM32内部Flash模拟EEPROM磨损均衡算法--存储设备擦写均衡自带掉电保护接口-如何在同等存储空间下增加FLASH寿命呢?往下看-STM32F334实现FLASH擦写均衡
erase_flash:这里的长度其实无效,这里需要提供的是擦除一页的接口,这里也许会有人说NAND Flash,最小擦除单位为1块,也就是64页,怎么办呢?ReadAddr:读地址,由于查找最后一块有效数据地址随着分区的大小,查找时间会相应的变长,所以在系统上电初始化的时候将最后一块有效数据块首地址记录,之后就不用再从子分区0查找了,提高系统执行效率,这个保留在这,暂未实现,后面的版本会加入。打个比方:周一到周五的菜单,每天固定三个菜,要进行存储的话,就需要提供五组数据,那么日期就是ID,用来区分周几。原创 2023-07-22 10:33:20 · 2361 阅读 · 1 评论