求助STC8H1K28调用malloc有问题
程序如下unsigned char *p
Uart2Init();
IE2 = 0x01;
EA = 1;
Uart2SendStr("Uart Test !\r\n");
p=malloc(10);
p=0xaa;
Uart2Send(p);
while (1)
{
if (rptr != wptr)
{
Uart2Send(buffer);
rptr &= 0x0f;
}
}
上述函数 正常来说Uart2Send(p);这里打印出来应该是十六进制的0xaa,但是实际发现是一个异常值05,有没有大佬帮忙解答下。
我记得C51 不能直接使用malloc函数,需要定义一个数组,然后使用个什么函数(特定的)把这个数组初始化,当作堆来用。具体的可以百度 C51使用动态分配。。要不就等等大佬的回复。。反正是不能直接使用。。 没有用过这个函数,对于51单片机,最好不要用
页:
[1]