主题中讨论的其他器件: HALCOGEN
您好!
我们正在将已知工作代码从 Hercules Launchpad TMS570LS12x 移至基于 TMS570LS0714的定制电路板。 定制板上的 ADC 值全部读取为0x7FF (12位模式下为满量程的1/2)。 TRMS 中 ADC 上的段看起来是相同的。 我想知道我们是否错过了什么。
谢谢!
斯蒂芬
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.
您好!
我们正在将已知工作代码从 Hercules Launchpad TMS570LS12x 移至基于 TMS570LS0714的定制电路板。 定制板上的 ADC 值全部读取为0x7FF (12位模式下为满量程的1/2)。 TRMS 中 ADC 上的段看起来是相同的。 我想知道我们是否错过了什么。
谢谢!
斯蒂芬
更新了:我为 LS1224PGE 和 LS0714PGE 生成了两个裸机 halcogen 项目。 我对这两个项目进行了完全相同的设置,生成了代码,并将测试代码添加到 main()中。 我 在 x0714上编译并启动了两个项目的调试会话。 我看到了许多转换完成事件。 但是、对于所有通道、两种情况下的所有转换都为0。 当我在 Launchpad 上运行任一项目时、我会在 所有通道上看到转换噪声(介于0x500-0xB00之间)。 我们 在这里抓着吸管。 如果有任何直觉、都将不胜感激!
谢谢!
斯蒂芬
Halcogen 修改:
TMS570LSx > VIM 通道0-31 -启用 RTI 比较0、ADC1事件、ADC 组1 IRQ。
ADC1 > ADC1组事件>触发源-- RTI_COMP0,使能的引脚0-3。
ADC1 > ADC1组1 - 使能引脚4-7
测试代码(在 sys_main.c 中):
/*用户代码开始(2)*/
adcData_t gAdcData[32];
uint32 sAdcCheckTimeoutCount=0;
uint32 sAdcCheckSuccessCount=0;
uint32 sTotalConversion=0;
int CheckConversion (adcBASE-t * adcBase、uint32 group、adcData_t * adcData){
if (!adcIsConversionComplete (adcBase、group)){
sAdcCheckTimeoutCount++;
返回0;
}
sAdcCheckSuccessCount++;
返回 adcGetData (adcBase、group、adcData);
}
/*用户代码结束*/
int main (空)
{
/*用户代码开始(3)*/
rtiInit();
adcInit();
vimInit();
vimEnableInterrupt (2、SYS_IRQ);
vimEnableInterrupt (14、SYS_IRQ);
vimEnableInterrupt (15、SYS_IRQ);
rtiEnableNotification (rtiNOTIFICATION_COMPARE0);
rtiStartCounter (rtiCOUNTER_BLOCK0);
_enable_interrupt_();
adcStartConversion (adcREG1、adcGROUP0);
adcStartConversion (adcREG1、adcGROUP1);
while (1){
sTotalConversions += CheckConversion (adcREG1、adcGROUP0、gAdcData);
sTotalConversions += CheckConversion (adcREG1、adcGROUP1、gAdcData);
}
/*用户代码结束*/
返回0;
}