工具/软件:Code Composer Studio
我尝试将 ADC 缓冲驱动程序集成到我们的代码中、发现 在调用 ADCBuf_convert 后添加断点会导致程序卡在 ADCBufCC26X2_convert 中的循环中。 我在 adcbufcontinuous 示例项目中尝试了它、发现了同样的问题。 是否有解决此问题的权变措施、或者此问题是否为已知问题? 我查看了头文件和文档、但没有看到任何有关断点的信息。
谢谢、
约旦 Melnychuk
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.
工具/软件:Code Composer Studio
我尝试将 ADC 缓冲驱动程序集成到我们的代码中、发现 在调用 ADCBuf_convert 后添加断点会导致程序卡在 ADCBufCC26X2_convert 中的循环中。 我在 adcbufcontinuous 示例项目中尝试了它、发现了同样的问题。 是否有解决此问题的权变措施、或者此问题是否为已知问题? 我查看了头文件和文档、但没有看到任何有关断点的信息。
谢谢、
约旦 Melnychuk
约旦、您好!
这是因为您将断点放置在回调内部。 因此(和一般时序)、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