tmalloc.c
字号:
#include <reg52.h>
#include <stdlib.h>
#include <absacc.h> //为使用init_mempool函数中的XBYTE定义而加入该头文件
#include <stdio.h> /*为使用printf函数而加入*/
void tst_malloc (void) {
unsigned char xdata *p;
init_mempool (&XBYTE [0x2000], 0x1000); //初始化存储器,指定开始地址及大小
//去掉该行程序会有连接警告
//当前执行结果是"Memory allocated",如果将参数0x1000改为0x100后再编译、调试可以观察到"Not enough memory space"
p = malloc (1000); /* 分配 1000 字节 */
if (p == NULL)
printf ("Not enough memory space\n");
else
printf ("Memory allocated\n");
}
void main()
{ SCON = 0x50; /*SCON:工作模式1,8-bit UART,允许接收*/
TMOD |= 0x20; /*TMOD:定时器T1,工作模式2, 8位自动重载方式*/
TH1 = 0xf3; /*当波特率为2400时,定时器初值*/
TR1 = 1; /*定时器T1开始运行*/
TI = 1; /*允许发送数据*/
for(;;)
tst_malloc();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -