# CompMix **Repository Path**: thtfcccj/CompMix ## Basic Information - **Project Name**: CompMix - **Description**: 公共 其它组件集合 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2020-08-18 - **Last Updated**: 2025-12-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README  ### 组件层-其它相关模块接口及其实现,含 * AdCmp: AD(硬件)比较模块,用于为MCU内部的AD比较功能提从统一接口,含部分MCU实现 * API: 为抽化程序结构提供的,可用于通讯的应用程序接口及相关定义(含示例),支持单例化与多例化模式 * CustomLut: 以NolinearConvert 非线性查找表为基础,实现的用户可定制线性查找表: + CustomLut: 实现了xy点的:删除,替换,插入,恢复等功能。 + CustomLut_Serialize: 序列化子模块, 用于方便传输 + CustomLutAry: 多个CustomLut的管理。 * CustomLutS: CustomLut的单例化版本,以使CustomLut轻量化,支持Serialize序列化 * DefStdType.h: 为兼容准备的 常用类型定义,如U8 表示unigned char 等,除兼容外,不建议使用。 * Delay 延时函数标准接口,及在各种MCU相关的实现。 * DispAdrTimer: 用于在显示屏上显示通讯地址,到时自动停止。 * DynaIdFilter: 动态Id筛选器,用于在数组/阵列等多拿例化实例中: + 筛选出满足条件的数据(以下标ID排列),以及进行升序或降序排列。 + 以动态方式实现筛选,如:显示第2页,即只处理每2页要显示的内容,以节省内存资源以及提高效率 * EO8: 用于如通过595,573等扩展一路8BIT的输出口驱动程序 + 实现了595方式的驱动,以用595在Spi3mIo中的实现。 * gCfg:全局配置模块,用以收集并统一管理应用中,检散的如开关某个功能的管理,主要为读取的保存EEPOM + 此模块通过应用层子模块 gCfg_App.h方式实现就用相关,但调用通过gCfg实现统一接口。 * gFlag:全局配置模块,用以收集并统一管理应用中,检散的标志或字节变量或状态的管理。 + 此模块通过应用层子模块 gFlag_App.h方式实现就用相关,但调用通过gFlag实现统一接口。 * HourIncEeprom: 使用系统时钟,实现的小时计数功能,每小时写一次EEPROM,可以以位或字节方式。 * HourIncFlash: 使用系统时钟,实现的小时计数功能,使用一页或多页Flash循环写入方式实现计时 + 支持以位,字节,多字节为单位进行写入 + 支持小时精度校准,校准结果存在EEPROM中。 * InfoBase: 借用于struct结构方式,自动管理保存有EEPOM中的数据位置,含 + InfoBase_Samle.h: 因具体实现应用相关,故这里为使用此方式的示例 + InfoBaseDyncMng: 使用Eepom中的一大段连续区域,为多种多例化(如组态中AI,KI,AO,DO设备)的结构,实现动态分配Eepom空间。 * LightCh: 指示灯按通道驱动模块,给定一个通道号实现对应通讯指示灯的亮灭。 * LUT 通用与常用查找表集合,集成了: + LUT_U8Reverse: 8位 位反序查找表(D0转到D8,D1转到D7...) * math 扩展数学库: + math_3: 扩展了math部分功能,如线性运算,数据流转换等 + struct.h: 结构体操作抽像,如通过成员找基类,确定成员位置等 * MemMng: 嵌入式系统的动态内存分配模块,实现了heap1方式,即只在初始化时分配,不释放。 * mEO8 多例化的EO8功能。 * MVC: 多通道电压比较器模块: 使用MCU内部电压比较器,用于为MCU内部的比较功能提从统一接口,含部分MCU实现 * NolinearConvert 非线性查找表功能,由x,y轴构成一个点,组成一个阵列后成为一张有x,y轴的表: + 通过输入x轴对应变量,得到y变量 + 通过输入y轴对应变量,得到x变量(线性表为单调升序或单调降序时支持) + 应用无关,x,y轴可以是不同单位变量,如:x轴是温度,y轴是1.00附近的补偿系数 * PeriodPwmGen 周期PWM信号输出产生器, 用于控制产生PWM各种脉冲,含部分MCU中的实现。 * Pot:数字电位器驱动程序及统一接口,含在CAT5161上的实现 * PotS: Pot的单例化实现,以使Pot驱动轻量化,含在CAT5161上的实现 * ResourceIndex: 索引型资源,位置相关通用操作函数集 + 用于实现从”CCJ多功能文件处理与编译器.exe“生成并下载一以MCU中的资源文件提供驱动及接口 + 支持变量配置,字符串,图像等的位置管理,以方便在应用中使用。 * ResourcePlot 索引型资源,绘图相关(用于在MCU上实现如迪文模式的控制在显示屏上的显示),含以下子功能 + ResourcePlot: 资源信息绘图模块,可实现图片,静态或动态文件字按指定描述结构在显示屏上绘制。 + RP_AryArea: 阵列区域绘图模块, 实现图形化列表中的一项。 + Rp_FixArea: 固定区域绘图模块,用于显示屏如状态栏固定区域的显示与管理 + RP_Guide3X3: 3x3九宫格方式菜单的管理,每个格可以是一个图像,支持选中与非选中不同显示模式 + RP_TxtTMenu: 索引型字符串资源,在TMenu上的显示,用于实现如帮助等文本文件的显示。。 + RpHandle: Rp句柄Handle定义与说明 + RpTools: 索引型资源文件工具类绘制,如各种样式的进度条。 * Restore: 在InfoBase上,建立一块重复的重要数据块,用此块实现对重要数据的备份,恢复等。 * SDRAM: SDRAM驱动程序统一接口,在各MCU上的驱动实现,含部分MCU上的驱动 * ShortMng: 多通道短路保护模块,以检测各通道电流方式判断是否短路, 以及短路后的恢复管理。 * SoftQ:FIFO队列,用软件来实现。(区别于部分MCU提供硬件FIFO机制)。 * SwdIo:为SWD调试口与IO口之间的动态切换,提供统一接口。 + __APP_DEBUG模式时,宏定义为不切换。 + 内置在部分MCU上的实现。 * SysTick: 为各种硬件下的Tick时钟实现,提供统一接口 + ms us二选一 + 内置在部分MCU上的实现。 * SysTimer: 时间段计时器(依赖于SysTick) + 给定一个应用时间,依赖于一个走动的时间,可以实现定时,周期调用功能。 * Temp: 温度模块:为普通温度传感器提供统一接口平台: + Temp: 温度主结构,实现了零点标定,两点标定功能 + Temp_MCU: 在各MCU内置温度传感器上的实现。 + Temp_NTC...: 使用外置NTC时的实现,含实验过的线性补偿表。 + TempAry: 为Temp的多例化驱动 + Temp_SMenu: 温度模块在使用SMenu菜单系统中的实现,可实现温度的显示,单点标定,两点标定等功能。 * Test: 测试管理模块,用于实现测试启动,测试倒计时自动停止,手动停止等功能。 * ZipTime: 压缩时间模块,用于将RTC结构,压缩为4字节表示的结构,以方便传输与保存,节省空间,含: + ZipTime: 主模块,维护一个实时压缩时间,并实现了RTC时间到压缩时间的互转,压缩时间转显示,提取日期等功能 + ZipTime_SMenu: 在使用SMenu菜单系统中的实现,可实现年月日时分秒的显示与调整 + ZipTime_TMenu: 在使用TMenu菜单系统中的实现,可实现年月日时分的显示与调整 + ZipTimeEx:压缩时间格式模块扩展功能模块,可实现时差计算,时差累加等功能。