cy350 发表于 2024-5-24 23:11:40

求助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,有没有大佬帮忙解答下。

_奶咖君_ 发表于 2024-5-25 09:05:48

我记得C51 不能直接使用malloc函数,需要定义一个数组,然后使用个什么函数(特定的)把这个数组初始化,当作堆来用。具体的可以百度 C51使用动态分配。。要不就等等大佬的回复。。反正是不能直接使用。。

小飞侠 发表于 2024-5-25 13:50:29

没有用过这个函数,对于51单片机,最好不要用
页: [1]
查看完整版本: 求助STC8H1K28调用malloc有问题