单片机模块化程序: 数据缓存封装-内存管理实现(内存块长度充足版)
前言
上一节使用的是环形队列实现的数据缓存
这节使用内存管理实现
内存管理使用的是 μC/OS-II 里面的内存管理程序
使用说明
一,内存管理意味着有许多的内存块
内存块的长度假设定义的足够大,可以放入每条数据
二,定义一个数组,作为内存分区
data_type_t CommTxPart[BlocksNumber][BlocksSize];
所有的封装到了 MemManage文件里面,如果用户想了解实质
请自行学习,我只说明怎么应用!
注意:
data_type_t : 代表内存 存储的数据类型 ,请定义成这种类型
默认按照char型数据存储,请自行修改
BlocksNumber : 数组的行数(内存块数量)
BlocksSize : 数组的列数(每个内存块长度)
提醒:
提醒:
提醒:
BlocksNumber :也代表最大管理的数据的条数,当前是3
BlocksSize : 代表着每条数据最大存储的数据个数,不得超过
此个数,否则数组溢出,造成程序崩溃
实际上就是用多维的数组存储数据
数组的行数代表最大储存的数据条数
数组的列用于存储每一条数据,一条数据最大500个
三,定义一个管理变量
mem_manage_struct mem_manage_struct1;
四,创建
五,插入数据
MemManageWrite(&mem_manage_struct1,temp,17,&err);
五,如果缓存区有数据,则取出来打印