本次是案例是定时200us触发一次ADC转换
ADC部分:
1、初始化设置:
ADCLKSEL:设置时钟;
MODE:设置模式,常规模式下,1是continue,0是one shot;
PWDN:1
Power down for starting module initialization;
PWDN:0
ADC ready to receive converstion triggers;
OWREN:1
Enable overwriting older conversion results;旧的结果总会被新结果覆盖掉;
CTR:设置采样时间;
NCMR:我的理解是设置采样通道;
JCMR:我们是普通转换,所以注入转换寄存器设0;
IMR,CIMR置0,禁用中断;
2、触发方式:
将NSTART置1,开始转换,在one shot模式,每次转换开始前要给NSTART置1;
定时器部分:
1、初始化
FRZ:设置debug模式是否可用;
LDVAL:设置频率,产生定时
TCTRL.TIE:设置中断请求
TCTRL.TEN:定时器使能
TFLG:flag;
2、中断注册
INTC_InstallINTCInterruptHandler(&MD_ISR_PIT0_1_200us,227,10);
#define MD_SYSTIMERTASK_1MS PIT_0.TIMER[1].TFLG.B.TIF //中断标志位
中断函数:触发ADC转换