yangfengwu

单片机模块化程序: 数据缓存封装-内存管理实现(内存块长度充足版)

 

 

 

前言

  上一节使用的是环形队列实现的数据缓存

  这节使用内存管理实现

  内存管理使用的是 μ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);

 

  

 

 

  

 

 

 

 

  五,如果缓存区有数据,则取出来打印

 

分类:

技术点:

相关文章: