Other Parts Discussed in Thread: 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