- 博客(20)
- 资源 (26)
- 收藏
- 关注
原创 光伏并离网储能一体机系统设计方案:全面资料与教程,详解软硬件设计与实施
光伏并离网储能一体机系统设计方案:全面资料与教程,详解软硬件设计与实施;软件DSP ARM 从DSP源代码全部开源产品级别开发板。
2024-07-21 13:46:16 113
原创 通过U盘 读去BIN文件进行校验写入到外部存储FLASH算法
/ 这里的变量名m_erase可能是个误导,因为它通常表示擦除操作,但这里用作读取操作的返回值。// 则需要计算从当前位置到文件末尾(减去校验和或尾部信息的长度)的数据的校验和。if(DataRemain < 1024) // 如果剩余要读取的字节数小于1024。if(m_erase) // 如果读取操作失败(假设m_erase非零表示失败)// 判断是否到了文件末尾附近的区域,这部分通常包含数据的校验和或尾部信息。// 计算读取到的数据的校验和。// 将读取到的数据写入外部flash。
2024-06-14 16:01:49 648
原创 单片机串口通过查询接收数据,同时具备接收超时、异常判断,常规通用处理算法实现
HAL_UART_Transmit函数用于将接收到的数据发送回去,在实际应用中,你可能需要将这些数据用于其他目的。如果接收到数据,它将返回1,并将接收到的数据存储到缓冲区中。另外,这段代码使用了HAL_GetTick()函数来获取当前的时间(以毫秒为单位),你需要确保你的系统中已经启动了HAL的滴答定时器。处理接收到的数据:如果接收到数据且未超时,则处理这些数据,比如存储到缓冲区或者进行进一步的处理。(5)清理和重置:在每次接收完成后,需要清理串口的状态,重置相关变量,以便进行下一次的接收。
2024-03-30 14:43:58 996
原创 实现FLASH跨页写入,不采用先读取后写入的方式,提高内存利用率,从任意FLASH地址写入指定长度的 通用处理函数框架
实现FLASH跨页写入,不采用先读取后写入的方式,提高内存利用率,从任意FLASH地址写入指定长度的 通用处理函数框架
2024-03-27 15:45:53 765
原创 EXCEL中利用VBA将16进制数据按照BIT进行解析,并按照BIT的数值分别显示不同的状态字符串
例如:在EXCEL中 用 VBA实现 一个16进制数据 按照BIT进行拆解,分成多列进行显示,BIT0=0 显示ON BIT0=1 OFF BIT 1= 1 显示欠压 ,BIT1=0显示正常。然后,它遍历这个范围中的每一个单元格,将16进制数转换为二进制字符串,并根据每一位的值在相应的列中显示状态。注意,这个脚本假设你最多有8位,并且根据你的描述为前两位设置了特定的状态显示。' 请注意,上面的Case是根据你的描述假设的,你可能需要调整它们以匹配你的实际需求。' ... 其他位的情况,你可以按照需要添加。
2024-03-27 09:11:47 1385
原创 以具体通信数据帧内容解析YMODEM协议的详细实现过程
一 、缘由 当前在查询或者检索下相关协议时,多偏重于描述性,本文通过实际案例和测试 详细接收一下 YMODEM协议的具体实现。发送端若无下一个文件传输则发送结束帧 01 00 FF。下位机 响应NAK 要求第二次确认 15。接收端 请求发送端开启下一个文件传输 C。接收端 响应 ACK 06。接收端响应ACK 06。上位机 发送EOT。
2024-03-26 10:04:06 1045
原创 串口接收无协议判断,在接收整包数据后再统一进行处理的软件算法实现框架。
在串口数据编程中,由于存在不同的协议,通常多采用状态机解决方案,但是不同帧格式不同,最好的方式是在接收时不进行协议和接收数据长度的判断,实现无协议接收,串口接收不定长数据,且没有特定的协议来标识数据包的开始和结束,通常需要定义一些规则或者条件来识别数据的完整性。常用的解决方式是假设数据在一段时间内没有新的字节接收就认为是完整的,或者可以设定一个特定的超时时间。2、基于STM32进行该编程模型的框架实现方案。
2024-03-24 13:40:29 783 1
原创 业务逻辑中针对if ---else或者 else if 等多层嵌套常用优化实现方法总结
业务逻辑中针对if ---else或者 else if 等多层嵌套常用优化实现方法;查找表(Lookup Table); 函数指针数组; 状态机; 策略模式。
2024-03-21 13:49:26 1081 1
原创 在STM32F103,RAM 64K的单片机上,利用fatfs文件系统,实现一个存储文件大小等于600K的CRC 文件校验,分块读取循环校验计算
(2)文件读取:由于单片机的RAM只有64KB,需要处理一个600KB的文件,因此不能直接一次性将整个文件加载到RAM中进行CRC计算。(4)合并CRC值:由于文件是分块读取的,因此需要一个方法来合并每个缓冲区的CRC值,以得到整个文件的CRC值。这通常涉及到在每次计算新缓冲区的CRC时,将之前的CRC值作为初始值传递给CRC计算函数。如果文件非常大,而且内存有限,可以将文件分成多个段,分别计算每段的CRC值,然后再将这些CRC值合并成一个最终的CRC值。// 计算当前块的CRC,并合并到总CRC中。
2024-03-19 17:21:29 930
原创 LVGL多个控件共享一个共享一个事件回调函数实现方法
lv_label_set_text(lv_label_get_from_obj(obj), "下拉列表值改变");lv_label_set_text(lv_label_get_from_obj(obj), "按钮被点击");lv_label_set_text(lv_label_get_from_obj(obj), "标签被点击");/* 下拉列表的值改变 *//* 按钮被点击 *//* 标签被点击 *//* 创建4个下拉列表 *//* 创建10个标签 *//* 初始化LVGL *//* 创建3个按钮 */
2024-03-02 12:27:12 801 1
原创 开源PLC系统解决方案,人机交互解决方案
模块化设计,汇集众多模块化设计,汇集众多功能,真实工业场景应用工业PLC主板功能,真实工业场景应用工业PLC主板 项目 式样 点数 备注 输入电源 AV220V±10% 1 用于电源检测 DC12V 2 直流电源输入 DC24V ...
2021-01-08 21:37:20 228
原创 可编程工控板 国产自主PLC PLC国产 分布式IO模块 开源PLC方案 定制PLC 仿西门子 仿三菱 定制化系统解决方案。美标储能一体机ARM 、DSP、辅助DSP 源代码---裂相一体机储能系统
等全部标准化,只需要在对应的模块中进行配置既可以完成不同硬件驱动,无需做任何代码开发。接口允许系统开发工程师开发出各种现场应用程序,根据行业应用自行定义工艺包。注释详尽,编程规范,状态表,函数指针,状态机,泛型编程,表驱动法等高级。无需任何操作系统支持,就能够直接在。根据需要采用编译或解释方式执行。高级语言编写行业专用指令,对。单片机实现,成本较低廉。可自由定制:可扩展的。
2021-01-08 21:33:57 794 1
原创 C语言实现的PLC软定时器 上升沿,下降沿判断算法及功能
一、序言 使用单片机开发开发过程控制中,经常会用到定时,变量上升沿动作,下降沿动作,在业余做了个单独工具处理模块二、C代码组成如下共有.h文件和.c文件组成。2.1 F00200_utils.h代码构成#ifndef __F00200_UTILS_H__#define __F00200_UTILS_H__#include "stm32f10x.h"#define P...
2020-01-10 16:01:54 7557
原创 无线远程监控用网关设计开发以及远程监控系统搭建
现场由与存在多种控制器,三菱,松下,西门子等PLC种类,协议不同,连接方式不同,有一些重要数据需要在断电时保持,在系统上电后将数据上传到数据中心。 各种PLC通信协议解析,三菱协议解析,松下协议解析,POFIBUS协议解析,自定义协议解析,MODBUS协议 以上协议软件驱动设计 5路串口通信设计 终端设备远程设定参数,设定参数写入、读取,保持
2016-03-13 20:20:01 644
原创 定时链表处理 程序 采用 链表结构 同时运行多个定时器 仿PLC定时器结构实现
定时链表:typedef void (* sys_timeout_handler)(void *arg);struct sys_timeo { struct sys_timeo *next; u32_t time; sys_timeout_handler h; void *arg;};//定时链表首部结构struct sys
2015-11-06 09:43:23 1041
原创 面向对象程序设计思想 在单片机中的应用
//将菜单的属性和操作封装在一起typedef struct tagSysMenu{ char *Text;//菜单文本 unsigned char xPos;//菜单在LCD上的X坐标 unsigned char yPos;//菜单在LCD上的Y坐标 void (*OnOkFun)();//在该菜单上按下OK按键 void (*O
2015-11-06 09:41:21 870 2
原创 函数指针模型与状态转换表
在工作中,经常使用一些列表操作,经过总结提炼,汇总了一下函数指针结合状态转换的通用编程模型。单片机状态机编程思想。在PLC固件开发中,通信协议,指令解析与处理,以及通用的AD处理程序大量使用了这种程序设计架构。现总结如下:1 查表 算法模型enum{ADD=0,SUB,MUL,DIV,};int FuncAdd(int i ,int j)
2015-11-05 15:51:30 1755
原创 模拟量信号滤波算法
模拟量信号滤波算法 收集的关于基础滤波算法:理论上讲单片机从A/D芯片上采集的信号就是需要的量化信号,但是由于存在电路的相互干扰、电源噪声干扰和电磁干扰,在A/D芯片的模拟输入信号上会叠加周期或者非周期的干扰信号,并会被附加到量化值中,给信号带来一定的恶化。考虑到数据采集的实时性和安全性,有时需要对采集的数据进行软处理,一尽量减小干扰信号的影响,这一过程称为数据
2015-11-05 15:49:20 12626
原创 按键通用程序处理模型
/****************************************************************************** 文件名: sysytick.c* 内容简述: 本模块实现3个按键的检测,具有滤波机制,支持按下,弹起和长按动作。* 通过GetKey()函数可以读取键值**//* Includes -----------
2015-11-05 15:48:02 688
色谱仪,光谱仪,X射线管,探测器DPP,频谱分析仪
2010-03-21
电力电子电路精讲,常用电力电子元器件,实用电路,功率驱动电路,开关电路,充电电路,加热与温度控制电路,电源变换电路,高频高压电路,输出可调电源电路,监控电路,保护电路,直流电源设计等电路
2009-10-30
电子工程师常用资料包括常见的电气原理,国家标准,以及与工程算法相关的数学,矩阵论,概率,常见的复变函数与数理方程
2009-10-23
1单片机学习的源代码,主要与基础知识.AD.USB.PWM.LCD及串口通讯.rar
2009-09-28
gps显示仪,接受并显示8颗卫星的定位时间,使用AT89C51调试通过
2009-09-27
20180612_RESU3.3_6.5_10_Matching test case guideline_V1.5.pdf
2024-05-24
RESU Smart Communication Specification_Rev1.4 - 副本.pdf
2024-05-24
基于国民技术芯片N452,实现SPI FLASH +FAL+FATFS+EASYFLASH+FLASHDB 移植OK
2024-03-18
BOOTLOADER N32G45x_FR_WB系列芯片IAP升级应用笔记_V1.0 XCOM 串口IAP升级C代码
2022-02-11
UART_Demmo.rar 英飞凌 XMC四路串口并行通信 多路串口并行通信 基本例程
2021-12-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人