O ADC do STM32f103 é de 12 bits,isso ocupa dois bytes,o PWM é de 16 bits,dois bytes.
Analisando alguns códigos na Net encontrei;
,segundo consta o deslocamento é para usar 10 bits.Result = (ADC_GetConversionValue(ADC1)>>2);
Se eu utilizar uma saida PWM diretamente para reproduzir a entrada ananlógica(TIM2->CCR1 = Result;),o 'audio' é reproduzido,mas se eu utilizar diretamente a variável Result com o resultado da conversão,o audio não é reproduzido,tenho que dividir por 2,3 etc.
Se o PWM usa um registrador de 16 bits e o ADC retorna um valor de 12 bits,porque não reproduz diretamente,tipo Result = (ADC_GetConversionValue(ADC1)); ?
Alguem pode me explicar?