Hi, I'm currently trying to use ADC 1 peripheral on RM48L952 but it seems to be stuck on busy.
adcData_t testAdc; _enable_interrupt_(); _mpuInit_(); _mpuEnable_(); adcInit(); adcEnableNotification(adcREG1, adcGROUP1); adcStartConversion(adcREG1, adcGROUP1); while(!adcIsConversionComplete(adcREG1, adcGROUP1)); adcGetData(adcREG1, adcGROUP1, &testAdc);
Looking at registers it seems to be ok but the program is stuck at while(!adcIsConversionComplete(adcREG1, adcGROUP1));.
A point to note is that my device has only AD1IN[0] connected and ADREFHI, ADREFLO, AD1EVT are not, just trying to see if adc peripheral works. I think that's not the problem but it might be worth noting.
Also ADC1 Group 1 in VIM channel is not enabled.
Here is adc group 1 setting. I haven't tinkered sample timing.
Below is some registers at waiting loop.
R MibAdc1_OpModeCtrl 0x0000000B 0x81140001 // 12 bit, adc enabled
R MibAdc1_G1ModeCtrl 0x0000000B 0x00000000 // software triggered, oneshot
R MibAdc1_G1IntEna 0x0000000B 0x00000008 // conversion end interrupt enabled
R MibAdc1_G1IntFlg 0x0000000B 0x00000004 // memory empty
R MibAdc1_EvSr 0x0000000B 0x00000008
R MibAdc1_G1Sr 0x0000000B 0x0000000C // memory is empty and busy
R MibAdc1_G2Sr 0x0000000B 0x00000008
R MibAdc1_EvSel 0x0000000B 0x00000000
R MibAdc1_G1Sel 0x0000000B 0x00000001 // only group 1 has conversion pending
R MibAdc1_G2Sel 0x0000000B 0x00000000
Below is full register state at waiting loop.
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