Sacar por DAC una entrada del puerto serie

Buenos días
Les cuento mi problema.
Tengo un Arduino DUE. Mi idea es conectar Arduino con un ordenadorpor el puerto serie. Los valores leídos, son digitales y les quiero sacar por el DAC para que me haga la conversión a analógico para obtener una señal que representar en un osciloscopio.
Mi código es el siguiente:

float salida=0;

void setup(){
Serial1.begin(9600);
analogWriteResolution(8);
pinMode(DAC0, OUTPUT);

}

void loop(){
if(Serial1.available()){
salida=Serial1.read();
//Escribir en pin DAC0
analogWrite(DAC0, salida);

}
}

El problema que tengo es que en el DAC no obtengo ningún valor.
¿Podéis echarme una mano? Gracias

Hola errubens04!

DAC0 es INPUT, ya que quieres escribir un valor en ese pin, no sacarlo de ahí.

Y te faltaría (en el código que has escrito por lo menos), un int DAC0=nº pin (A0, A2,...)

Si DAC0 es input, ¿cómo saco entonces de Arduino la señal analógica (verla por el osciloscopio)?

ok. DAC0 es OUTPUT XD

para leer la señal que saca de ahí tienes que hacerlo con un analogRead();

prueba a debuggear poniendo un Serial.print (salida);
a ver qué te está dando, ya que el valor debe estar entre 0 y 255, ya que haces analogWriteResolution ( 8 );
asegúrate de que por serie estás enviándolo correctamente. (Yo pongo Serial.print() en todos lados para ir viendo donde falla el programa y luego los voy quitando). Es posible que envíes un 3.4 por ejemplo y te entienda sólo 3 ó 4, (o 52 ó 53 en código ASCII respectivamente), o el 46 en ASCII del "punto" o el 10 del código ASCII del "return".

En fin, no quiero liarte... lo mejor es asegurarse de que lo que ESTAS enviando es lo que QUIERES enviar (que no siempre es lo mismo :P).