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.

[参考译文] RM48L952:ADC 卡在忙状态

Guru**** 2747405 points

Other Parts Discussed in Thread: RM48L952

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1025683/rm48l952-adc-stuck-on-busy

器件型号:RM48L952

大家好、我目前正在尝试在 RM48L952上使用 ADC 1外设、但它似乎一直处于忙状态。

    adcData_t testAdc;

    _enable_interrupt_();
    _mpuInit_();
    _mpuEnable_();
    adcInit();

    adcEnableNotification(adcREG1, adcGROUP1);
    adcStartConversion(adcREG1, adcGROUP1);
    while(!adcIsConversionComplete(adcREG1, adcGROUP1));
    adcGetData(adcREG1, adcGROUP1, &testAdc);

查看寄存器似乎可以、但程序停留在 while (!adcIsConversionComplete (adcREG1、adcGROUP1));。

需要注意的一点是、我的器件仅连接了 AD1IN[0]、ADREFHI、ADREFLO、AD1EVT 不连接、只是尝试查看 ADC 外设是否正常工作。 我认为这不是问题、但可能值得注意。

此外、VIM 通道中的 ADC1组1未启用。

这是 ADC 组1设置。  我没有修整采样时序。

下面是一些处于等待循环的寄存器。

R MibAdc1_OpModeCtrl 0x0000000B 0x81140001 // 12位、ADC 被启用

R MibAdc1_G1ModeCtrl 0x0000000B 0x00000000 //软件触发,OneShot

R MibAdc1_G1IntEna 0x0000000B 0x00000008 //转换结束中断被启用

R MibAdc1_G1IntFlg 0x0000000B 0x00000004 //内存为空

R MibAdc1_EvSr 0x0000000B 0x00000008
R MibAdc1_G1Sr 0x0000000B 0x0000000C //内存为空且繁忙
R MibAdc1_G2Sr 0x0000000B 0x00000008
R MibAdc1_EvSel 0x0000000B 0x00000000
R MibAdc1_G1Sel 0x0000000B 0x00000001 //只有组1有挂起的转换
R MibAdc1_G2Sel 0x0000000B 0x00000000

下面是等待循环中的完整寄存器状态。

521177 13
R MibAdc1_RstCtrl 0x0000000B 0x00000000
R MibAdc1_OpModeCtrl 0x0000000B 0x81140001
R MibAdc1_ClckCtrl 0x0000000B 0x0000000A
R MibAdc1_CalCtrl 0x0000000B 0x00000000
R MibAdc1_EvModeCtrl 0x0000000B 0x00000000
R MibAdc1_G1ModeCtrl 0x0000000B 0x00000000
R MibAdc1_G2ModeCtrl 0x0000000B 0x00000000
R MibAdc1_EvSrc 0x0000000B 0x00000000
R MibAdc1_G1Src 0x0000000B 0x00000000
R MibAdc1_G2Src 0x0000000B 0x00000000
R MibAdc1_EvIntEna 0x0000000B 0x00000000
R MibAdc1_G1IntEna 0x0000000B 0x00000008
R MibAdc1_G2IntEna 0x0000000B 0x00000000
R MibAdc1_EvIntFlg 0x0000000B 0x00000004
R MibAdc1_G1IntFlg 0x0000000B 0x00000004
R MibAdc1_G2IntFlg 0x0000000B 0x00000004
R MibAdc1_EvIntCtrl 0x0000000B 0x00000000
R MibAdc1_G1IntCtrl 0x0000000B 0x00000010
R MibAdc1_G2IntCtrl 0x0000000B 0x00000000
R MibAdc1_EvDmaCtrl 0x0000000B 0x00000000
R MibAdc1_G1DmaCtrl 0x0000000B 0x00100000
R MibAdc1_G2DmaCtrl 0x0000000B 0x00000000
R MibAdc1_BndCtrl 0x0000000B 0x00080010
R MibAdc1_BndEnd 0x0000000B 0x00000002
R MibAdc1_EvSamp 0x0000000B 0x00000001
R MibAdc1_G1Samp 0x0000000B 0x00000001
R MibAdc1_G2Samp 0x0000000B 0x00000001
R MibAdc1_EvSr 0x0000000B 0x00000008
R MibAdc1_G1Sr 0x0000000B 0x0000000C
R MibAdc1_G2Sr 0x0000000B 0x00000008
R MibAdc1_EvSel 0x0000000B 0x00000000
R MibAdc1_G1Sel 0x0000000B 0x00000001
R MibAdc1_G2Sel 0x0000000B 0x00000000
R MibAdc1_CalR 0x0000000B 0x00000000
R MibAdc1_SmState 0x0000000B 0x0000000A
R MibAdc1_LastConv 0x0000000B 0x006B462A
R MibAdc1_EvBuffer1 0x0000000B 0x80000000
R MibAdc1_EvBuffer2 0x0000000B 0x80000000
R MibAdc1_EvBuffer3 0x0000000B 0x80000000
R MibAdc1_EvBuffer4 0x0000000B 0x80000000
R MibAdc1_EvBuffer5 0x0000000B 0x80000000
R MibAdc1_EvBuffer6 0x0000000B 0x80000000
R MibAdc1_EvBuffer7 0x0000000B 0x80000000
R MibAdc1_EvBuffer8 0x0000000B 0x80000000
R MibAdc1_G1Buffer1 0x0000000B 0x80000000
R MibAdc1_G1Buffer2 0x0000000B 0x80000000
R MibAdc1_G1Buffer3 0x0000000B 0x80000000
R MibAdc1_G1Buffer4 0x0000000B 0x80000000
R MibAdc1_G1Buffer5 0x0000000B 0x80000000
R MibAdc1_G1Buffer6 0x0000000B 0x80000000
R MibAdc1_G1Buffer7 0x0000000B 0x80000000
R MibAdc1_G1Buffer8 0x0000000B 0x80000000
R MibAdc1_G2Buffer1 0x0000000B 0x80000000
R MibAdc1_G2Buffer2 0x0000000B 0x80000000
R MibAdc1_G2Buffer3 0x0000000B 0x80000000
R MibAdc1_G2Buffer4 0x0000000B 0x80000000
R MibAdc1_G2Buffer5 0x0000000B 0x80000000
R MibAdc1_G2Buffer6 0x0000000B 0x80000000
R MibAdc1_G2Buffer7 0x0000000B 0x80000000
R MibAdc1_G2Buffer8 0x0000000B 0x80000000
R MibAdc1_EvEmuBuffer 0x0000000B 0x80000000
R MibAdc1_G1EmuBuffer 0x0000000B 0x80000000
R MibAdc1_G2EmuBuffer 0x0000000B 0x80000000
R MibAdc1_EvDir 0x0000000B 0x00000000
R MibAdc1_EvDOut 0x0000000B 0x00000000
R MibAdc1_EvDIn 0x0000000B 0x00000001
R MibAdc1_EvDSet 0x0000000B 0x00000000
R MibAdc1_EvDClr 0x0000000B 0x00000000
R MibAdc1_EvPDr 0x0000000B 0x00000000
R MibAdc1_EvPDis 0x0000000B 0x00000000
R MibAdc1_EvPSel 0x0000000B 0x00000001
R MibAdc1_EvSampDisEn 0x0000000B 0x00000000
R MibAdc1_G1SampDisEn 0x0000000B 0x00000000
R MibAdc1_G2SampDisEn 0x0000000B 0x00000000
R MibAdc1_MagIntCtrl1 0x0000000B 0x00000000
R MibAdc1_MagInt1Msk 0x0000000B 0x00000000
R MibAdc1_MagIntCtrl2 0x0000000B 0x00000000
R MibAdc1_MagInt2Msk 0x0000000B 0x00000000
R MibAdc1_MagIntCtrl3 0x0000000B 0x00000000
R MibAdc1_MagInt3Msk 0x0000000B 0x00000000
R MibAdc1_MagIntCtrl4 0x0000000B 0x00000000
R MibAdc1_MagInt4Msk 0x0000000B 0x00000000
R MibAdc1_MagIntCtrl5 0x0000000B 0x00000000
R MibAdc1_MagInt5Msk 0x0000000B 0x00000000
R MibAdc1_MagIntCtrl6 0x0000000B 0x00000000
R MibAdc1_MagInt6Msk 0x0000000B 0x00000000
R MibAdc1_MagThrIntEnaSet 0x0000000B 0x00000000
R MibAdc1_MagThrIntEnaClr 0x0000000B 0x00000000
R MibAdc1_MagThrIntFlg 0x0000000B 0x00000000
R MibAdc1_MagThrIntOffst 0x0000000B 0x00000000
R MibAdc1_EvFifoRstCtrl 0x0000000B 0x00000000
R MibAdc1_G1FifoRstCtrl 0x0000000B 0x00000000
R MibAdc1_G2FifoRstCtrl 0x0000000B 0x00000000
R MibAdc1_EvRamAddr 0x0000000B 0x00000000
R MibAdc1_G1RamAddr 0x0000000B 0x00000010
R MibAdc1_G2RamAddr 0x0000000B 0x00000020
R MibAdc1_ParCtrl 0x0000000B 0x00000005
R MibAdc1_ParAddr 0x0000000B 0x00000000
R MibAdc1_PwrupDlyCtrl 0x0000000B 0x00000000

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

    您好!

    ADREFHI 是最高参考电压、也是可被转换的最大模拟电压。 ADREFLO 是最低基准电压、也是可被转换的最小模拟电压。  

    ADREFHI 和 ADREFLO 之间的输入电压生成一个转换结果。 您不能将这些引脚悬空。  

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

    那么、如果不连接这些引脚、ADC 就不会产生结果、甚至不会产生垃圾值?

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

    有人可以确认这一点吗?

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

    否 为了实现正常的预期运行、基准引脚不应悬空、并且它们 的电压电平应处于数据表中指定的有效范围内。