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/CC2642R:ADC 缓冲器不能与断点搭配使用

Guru**** 2535750 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/874742/ccs-cc2642r-adc-buffer-not-working-with-breakpoints

器件型号:CC2642R

工具/软件:Code Composer Studio

我尝试将 ADC 缓冲驱动程序集成到我们的代码中、发现 在调用 ADCBuf_convert 后添加断点会导致程序卡在 ADCBufCC26X2_convert 中的循环中。  我在 adcbufcontinuous 示例项目中尝试了它、发现了同样的问题。  是否有解决此问题的权变措施、或者此问题是否为已知问题?  我查看了头文件和文档、但没有看到任何有关断点的信息。

谢谢、

约旦 Melnychuk

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

    约旦、您好!

    没有这种众所周知的限制。 请问您使用的是哪个 SDK 版本和 CCS 版本?

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

    CCS:  版本:9.2.0.00013  

    SDK:V:3.40.00.02

    谢谢、

    约旦

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

    约旦、您好!

    我似乎无法使用示例项目重新生成它。 您是否说过、如果在转换调用之后的"while (1)"的开头放置一个断点(具有所有显示逻辑的调用)、则永远不会到达那里?

    您是否对项目进行了任何其他更改、例如转换模式或 ADC 设置?

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

    您好!

    我重新安装了默认示例、并在不同的开发板上尝试过、但仍然可以通过以下方式每次重现:

    1) 1)在无断点的情况下运行软件

    2) 2)在处理器运行时在 adcBufCallback 中设置断点

    您应该会看到、在您到达断点之前、您会在终端上获得输出。  如果您点击"Resume"、断点将永远不会再次点击、并且不会向控制台打印任何内容。

    我正在使用的项目

    我放置断点的位置

    它循环进入的 HWI

    电压时为 ROV

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

    约旦、您好!

    这是因为您将断点放置在回调内部。 因此(和一般时序)、ADC 很容易就会导致 FIFO 过流、这会阻止驱动器清除 ADC 中断、因为它不处理溢出情况。  

    我将就此提交一份错误报告、同时尝试将 ADCBuf 驱动程序源代码拉到项目中、并在 HWI 函数中添加以下行:

    /*将 activeSampleBuffer 设置为 primary 作为默认值*/
    object->activeSampleBuffer = conversion -> samplpleBuffer;
    
    /*溢出变通办法-我们有 ADC 溢出? *
    int32_t status = AUXADCGetFifoStatus ();
    IF (STATUS & AUXADC_FIFO_O溢_M){
    AUXADCFlushFifo();
    }
    

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

    我尝试了解决方法、但它没有解决问题。  但是、我有兴趣在故障通知单关闭时收到通知。

    谢谢、

    约旦

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

    这是我用来测试此情况的修改后文件(它包括我为能够在回调中中断而添加的内容)。 请随意尝试一下。

    如果不起作用、尝试在 Hwi 函数中断点、并在查看 ADCFIFO 状态寄存器(位于 AUX_ANAIF 下)时单步执行。 很有意思的一点是、在非工作案例中、它会为您显示什么状态

    /cfs-file/__key/communityserver-discussions-components-files/538/ADCBufCC26X2.c