2007-04-24 04:02 AM
2007-04-24 12:32 AM
I am using the ST sw library to calculate A/D value (for a touch screen). I can read correctly the AD_CHANNEL1 but not the AD_CHANNELL0. The voltage at the A/D micro is correct. I am using the OneShot method but I tried also the Scan. What's wrong in my sw (I attached the main A/D part)?
GPIO_Init(GPIO1, &GPIO_InitStructure); /* ADC Channel pin configuration */ GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3 ; GPIO_Init(GPIO0, &GPIO_InitStructure); Delay(10000); ADC_InitStructure.ADC_ConversionMode = ADC_ConversionMode_OneShot; ADC_InitStructure.ADC_ExtTrigger = ADC_ExtTrigger_Disable; ADC_InitStructure.ADC_AutoClockOff = ADC_AutoClockOff_Disable; ADC_InitStructure.ADC_SamplingPrescaler = 0; ADC_InitStructure.ADC_ConversionPrescaler = 0; ADC_InitStructure.ADC_FirstChannel = ADC_CHANNEL0; ADC_InitStructure.ADC_ChannelNumber = 2; ADC_Init(&ADC_InitStructure); Delay(10000); /* Enable ADC */ ADC_Cmd(ENABLE); Delay(10000); /* Start conversion */ ADC_ConversionCmd(ADC_Conversion_Start); ......................................... while(1) // Main loop { .................................... Delay(10000); y_Touch=ADC_GetConversionValue(ADC_CHANNEL1); x_Touch=ADC_GetConversionValue(ADC_CHANNEL0); ADC_ConversionCmd(ADC_Conversion_Start); } .................................... }2007-04-24 04:02 AM
Sorry! There was a stupid sw bug in another part of the program.