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.

[参考译文] CCS/LAUNCHXL2-TMS57012:在观察窗口中、ADC 变量不更新

Guru**** 2589280 points
Other Parts Discussed in Thread: TMS570LS1224, HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/817344/ccs-launchxl2-tms57012-on-watching-window-the-adc-variable-is-not-updating

器件型号:LAUNCHXL2-TMS57012
主题中讨论的其他器件:TMS570LS1224HALCOGEN

工具/软件:Code Composer Studio

您好!

我正在使用 TMS570LS1224 Hercules 系列 MCU。

我成功地读取了 ADC 值并使用 HALCOGEN GUI 帮助部分中给出的示例持续更新了观察窗口的 ADC 变量。

工作方案是:

adcInit();

adcData_t adc_data;
adcData_t * adc_data_ptr =&adc_data;

adcStartConversion (adcREG1、adcGROUP1);


while (!adcIsConversionComplete (adcREG1、adcGROUP1));
adcGetData (adcREG1、adcGROUP1、adc_data_ptr);
值=(unsigned int) adc_data_ptr ->值;

更改后的程序是:

adcInit();

adcData_t adc_data;
adcData_t * adc_data_ptr =&adc_data;

adcStartConversion (adcREG1、adcGROUP1);

if (adcIsConversionComplete (adcREG1、adcGROUP1)){
adcGetData (adcREG1、adcGROUP1、adc_data_ptr);
值=(unsigned int) adc_data_ptr ->值;

现在、更改后的程序在没有断点的情况下运行、并且保持变量上的"连续刷新"不会更新。

当我使用断点进行调试并逐个跳过程序行时、变量会更新。

观察窗口更新速率或其他方面的问题。

请为我提供解决方案。

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

    您好!

    默认情况下、连续刷新间隔为500ms。 您可以在调试属性中更改它。

    另外、请看一下这个主题: e2e.ti.com/.../397248

    此致、
    米罗

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

    您好 Miroslav、

    我无法找到更改连续刷新间隔的设置。 可以帮我解决这个问题吗?  

    和  

    我能够通过 ICEPick/DAP 启用访问。 但问题没有解决。 但显示名为"identifier not found:value1"的 ne 错误。

    请参阅随附的屏幕截图。

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

    您好!

    转至 Window->Preferences->Code Compser Studio-->调试:连续刷新间隔(毫秒)

    此致、
    米罗

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

    您好!

    另外、请看一下这里:

    此致、
    米罗

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

    感谢你的帮助。

    但通过将代码更改为:

    adcInit();

    adcData_t adc_data;
    adcData_t * adc_data_ptr =&adc_data;

    adcStartConversion (adcREG1、adcGROUP1);

    while (1){

    if (adcIsConversionComplete (adcREG1、adcGROUP1)){
    adcGetData (adcREG1、adcGROUP1、adc_data_ptr);
    值=(unsigned int) adc_data_ptr ->值;

    adcStartConversion (adcREG1、adcGROUP1);

    问题主要是因为转换开始命令在转换完成之前反复调用。