求大神注释一下这段程序
void TIM7_IRQHandler()
{
i1++;
display++;
if(display==2500)
{
display=0;
play=1;
}
if(i1==65535)
{
i1=0;
}
if(lock==0)
{
First=ADC_GetConversionValue(ADC1);
lock=1;
}
ADC_SoftwareStartConvCmd(ADC1,ENABLE);
while(!ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC));
ADC_GetConversionValue(ADC1);
ads=ADC_GetConversionValue(ADC1);
if(ads>First)
{
First=ads;
说是用的中断来实现 AD转换,但是看不懂,求大神注释
定时器中断计时,够时间了开始转换,并保存到上一次转换的结果。
display这类的变量要结合上下文来看,这段代码中只是做了个标记,无法确定功能。
lock变量相当于一个互斥量,保证在同一时刻只有一个AD转换。