mspm0g3507 adc直流测量
1. import一个empty
2. +adc
3. 采样时间越长,精度越高
4. mem0中断
5.
#include "ti_msp_dl_config.h" volatile bool ADC_Flag; volatile double ADC_Val; int main(void) { SYSCFG_DL_init(); NVIC_EnableIRQ(ADC12_0_INST_INT_IRQN); while (1) { ADC_Flag=false; DL_ADC12_startConversion(ADC12_0_INST); while(ADC_Flag==false); ADC_Val=(double)DL_ADC12_getMemResult(ADC12_0_INST,DL_ADC12_MEM_IDX_0)*3.3/4096; DL_ADC12_enableConversions(ADC12_0_INST); } } void ADC12_0_INST_IRQHandler() { switch(DL_ADC12_getPendingInterrupt(ADC12_0_INST)/*这个函数除了读取终端的功能,还可以清除标志位*/) { case DL_ADC12_IIDX_MEM0_RESULT_LOADED: ADC_Flag=true; default: break; } }