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.

[参考译文] LP-MSPM0G3519:ADC 模块的编译问题

Guru**** 2537370 points


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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1555522/lp-mspm0g3519-compilation-issue-for-adc-module

器件型号:LP-MSPM0G3519


工具/软件:

您好团队:

我们使用 MCAL:MCAL MSPM0_MSPM0_00.02.05.00 软件包

在 集成 ADC 模块时、发生以下编译错误

错误 1:从void到的分配无效 Std_ReturnType

文件:adc.c
第 451 行
路径:/mcal/Adc src /ADC.c
错误:从不兼容的类型“void"分配“分配到 Std_Return 类型(又名“unsigned char“)

问题:

  • 该函数Adc_startGroup(hwUnitObj)被定义为返回void

  • 但是、它的返回值被分配给类型为的变量Std_ReturnType

建议的解决方案:

  • 如果Adc_startGroup()要返回状态:

    • 更新其返回类型 voidStd_ReturnType

    • 确保返回适当的值、如E_OKE_NOT_OK

  • IF 函数 不应返回值

    • 删除分配 至。 retVal

错误 2:传递给函数的参数过多

文件:adc.c
线路:881.
路径:/mcal/Adc src /ADC.c
错误:参数太多而无法调用函数、需要的单个参数“groupObj"具有“具有 2

问题:

  • 该函数Adc_stopGroup()被定义为接受 只有一个参数 、但它被调用 groupObjADC_FALSE

建议的解决方案:

  • 选项 1:修复函数调用
    如果Adc_stopGroup()只接受一个参数、请删除第二个参数。

  • 选项 2:修改函数定义
    如果ADC_FALSE需要第二个参数 ():

    • 更新函数 声明和定义 接受两个参数。

BR、

Prashant Singh Toma

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

    请查看我通过电子邮件发送给您的最新 Mcal 套餐。

    [quote userid=“611764" url="“ url="~“~/support/sensors-group/sensors/f/sensors-forum/1555522/lp-mspm0g3519-compilation-issue-for-adc-module 错误 2:传递给函数的参数过多

    问题接受、感谢您的反馈~

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

    Hello Helic Chi、

    最新 MCAL 中的一个示例  ADC.c  AT  第 806 行 、代码似乎需要  返回值 () retVal  Adc_startGroup 输入参数。

    请检查一下。

    谢谢。此致、

    Prashant Singh Tomar

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

    由于版本差异、请帮助我确定实际代码行的地址。

    请告诉我哪个函数的哪一行代码需要一个返回值?

    我使用的是 0.02.05 版本。

    我可以找到、 在[ADC.HardwareTrigger]和[ADC.GroupConversion]中调用了 Adc_Enable Adc_Start、并且始终返回此值:

    #define E_OK    (0x00U)

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

    你好、 齐赫里克 、
    请参阅随附的图像。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我可以找到、 ADC_startGroup 在[ADC.HardwareTrigger] Adc_Enable 和[GroupConversion]中被调用、Adc_Start 并且始终返回:

    即机具正确。

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

    Hello Helic Chi、

    我遇到编译问题:

    C:/work/ACL-9.4.0_MSPM0GX51X_ticgt-4.0.0_LTS/Tresos/plugins/McalExt_TS_T47DxM1I0R0/MCAL_Delivery/mcal/Adc/src/Adc.c:806:20: error:
    assigning to 'Std_ReturnType' (aka 'unsigned char') from incompatible type 'void'
    806 |             retVal = Adc_startGroup(groupObj);
    

    目前、Adc_Priv Adc_startGroup  void   .c 和 Adc_Priv  .h 中都定义了该函数 要解决此错误、我们需要将其返回类型从更新 void 为 Std_ReturnType

    请告诉我此更改是否可以接受、或者您是否推荐其他方法。

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

    可以直接更改源代码。

    或者您可以尝试使用我本周发送给您的最新 Mcal 包。

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

    我目前正在开发最新的 MCAL

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

    最近,两个最新的 Mcal 软件包使用相同的 Mcal 版本号,但源代码存在差异。

    现在、我可以确认您和我的源代码不同、但版本号相同。

    您能否检查所发布模块源文件中的源代码差异?

    我已经从我这边检查过,有差异.

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

    我检查了最新的 Mcal 软件包、有问题。

    请尝试自己修改源代码、我会将修复请求发送给内部 Mcal 团队。

    感谢您的反馈。

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

    确定的,感谢您的反馈。