请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS570LS3137 主题中讨论的其他器件:HALCOGEN
我使用的是 TMS570 Hercules 开发套件。
我正在与 ADC (单通道)作斗争、数据采集频率由 RT (例如1-50kHz)和 FATFS 库决定、用于数据采集(SD 卡插槽)。 一切看起来都很好,但是我开始用发电机的正弦测试了。。。 和... 等待我的样片在哪里? ;/
问题是、每256个样本(它是恒定值、与采集频率无关)就会丢失一些样本。 我没有任何其他中断。 我检查了中断中代码的时间、最大值为7、0us。 (rtiGetCurrentTick = 70、具有 closk 10M)。
以下是我的示例数据:
和我的代码:
if (notification == rtiNOTIFICATION_COMPARE0)
{
/* ADC 转换*/
adcStartConversion (adcREG1、adcGROUP1);
while (!adcIsConversionComplete (adcREG1、adcGROUP1));
adcGetData (adcREG1、 adcGROUP1、ADC_DATA_PTR);//将转换存储到 ADC 指针
值=(uint16_t)((* ADC_DATA_PTR).value);
//将 uint16_t 数据转换为2x 字节
dataBufferPtr[0]=(Value >> 8)& 0xFF;
dataBufferPtr = 1
、dataBufferWrite*、dataBufferWrite&f = 1;dataBuffer* dataBufferBytr
=&b;data1;dataBufferWrite&f = dataBuffer* dataBufferWrite&f =&b;dataBuffer* dataBufferBytr = 1;dataBufferWrite&f =&b =&b =&b;dataBufferbw = dataBufferbw =&b
/*检查转换数量是否达到所需数量*/
if (bufferFIlledCount== buffersToBeSaved)
{/*
关闭文件*/
res =f_close (&FSRC);
}
哪里可能是问题? 如果它可以帮助我还可以添加我的 HalCoGen 项目的屏幕截图。
