Joined Dec 25, 2012
23
Hello everyone
i have a question, i am using 3 Ranks ADC injected mode for reading potential resistors.. with stm32f103c8
the problem is when ever i change one value it affects the other channel reading.

example

changing only resistor value on channel 1 to 2.9v makes the following:

why when i change one value the others are affected !! or the second one affecting the third !

code is :

Code:
while (1)
{
sprintf(str, "%.2fv %.2fv %.2fv ", u[0], u[1], u[2]);
LCD_SetPos(0,0);
LCD_String(str);
HAL_Delay(200);
/* USER CODE END WHILE */

/* USER CODE BEGIN 3 */

}

#### Attachments

• 33.1 KB Views: 3
Last edited by a moderator:

Joined Mar 10, 2018
4,057
Are the other channels not being measured floating as inputs ?

What is the approximate Z of each input channel connected to its
measurement point ? If high you getting C coupling across channels
from mux ?

Regards, Dana.

#### joeyd999

Joined Jun 6, 2011
4,401

#### RichardO

Joined May 4, 2013
2,271
It can take a while for an A/D channel to turn off. You might try a delay from the time you switch channels to when you start the A/D conversion.