This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 返回空指针问题

Guru**** 1996415 points
Other Parts Discussed in Thread: CONTROLSUITE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/566959/returning-a-void-pointer-issue

Thread 中讨论的其他器件:controlSUITE

我有一个愚蠢的问题、我不明白为什么它不起作用:

以下是功能代码:

SignalHal_handler -> signal_data=(void *) server_handle;

HAL_Handle halHandle=(HAL_Handle) SignalHal_handler -> signal_data;

halHandle 是一个大结构的指针。

signal_data 是空指针

这按预期工作。

。 我只希望它更花哨一点:

signal_setData (SignalHal_handler、(void *) server_handle->halHandle);

signal_Getdata (SignalHal_handler、(void *) halHandle);

静态内联 void Signal_setData (Tasksignal_handler Signal、void * data)

   signal->signal_data=data;
   signal->signal_state=SIGNALDATA;


静态内联 void Signal_Getdata (Tasksignal_handler Signal、void * data)

   Data=Signal->signal_data;

问题出现在 Signal_Getdata 中。 这不会返回 void 指针

我不明白为什么。 有什么建议吗?

 谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    这是来自 controlSUITE 的示例吗? 如果是、哪个示例或哪个套件? 此外、这是哪个器件?

    此致、
    Adam Dunhoft
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这不是 controlSUITE 的示例。 我使用的是2869m。
    我认为它在编译器中是一个奇怪的东西。 我不明白为什么我不能传回一个空指针。
    如下所示:
    静态内联 void Signal_Getdata (Tasksignal_handler Signal、void * data)

    Data=Signal->signal_data;


    当我将其更改为:
    静态内联空*信号_Getdata (Tasksignal_handler 信号)

    返回(信号->数据);


    它工作正常。

    那么、请告诉我代码有什么问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    在您的第一个函数中、void 关键字后面没有*、因此该函数无法返回任何值。

    您在使用以下代码行时遇到了哪些问题-数据是否未设置为预期值或代码完全无效?
    Data=Signal->signal_data;

    Elizabeth