Hola Cristian.
Cuando usas el modo burst, una vez que la señal de comienzo de conversión se genera (y puede ser por ejemplo por software) repite las conversiones una detrás de la otra (en la secuencia que programaste si hay más de un canal) y el tiempo entre conversiones queda definido por los ciclos de conversión necesarios y el clock de entrada del ADC que sólo lo podés controlar con el divisor CLKDIV del registro ADCR. CLKDIV divide el clock PCLK_ADC que se puede controlar con el registro PCLKSEL0.PCLK_ADC pudiendo elegir entre CCLK, CCLK/2, CCLK/4 y CCLK/8. Esto te da cierta libertad para elegir la frecuencia de muestreo que quedaría como FrecMuestreoADCBURST=PCLK_ADC/(64*(CLKDIV+1)).
En tu programa, al llamar a la rutina Chip_ADC_SetSampleRate(LPC_ADC, &ADCSetup, ADC_MAX_SAMPLE_RATE) le estás poniendo que genere el máximo de la frecuencia de muestreo (que es 200K). Probá a colocar 1000 y si la configuración que vos tenés de CCLK y PCLK_ADC te permite llegar a ese valor va a funcionar. Si no llega a la velocidad de muestreo no uses el modo BURST de ADC (Ojo que la restricción de usar el DMA para el ADC se refiere al modo BURST del DMA, no del ADC).
Para poder muestrear a cualquier velocidad, hay que sacarlo del modo burst y utilizar una señal de start proveniente de uno de los timers (por ejemplo MAT0.1). El timer hay que programarlo para que tenga un período en la señal elegida de 1KHz. Por ejemplo: seleccioná para el timer 0 en modo timer, en el registro match control register colocá que se resetee al llegar al valor de MR1 -> T0MCR.MR1R=1, en MR1 colocá un valor que genere un período de 500useg; además colocá en el external match register que genere toogle en MAT0.1 cuando el contador llegue a MR1 -> T0EMR.EMC1=3. Seleccioná la señal MAT0.1 en la señal de start del ADC ADC0CR.START=4
Siempre fíjate en los manuales usuario que todo esto está explicado en detalle, para este micro es el UM10360.pdf
Saludos.
Mg. Ing. Sergio A. Lapilli
Enviado desde Correo para Windows 10
--
-- Recibiste este mensaje porque estás suscripto al Grupo Google Embebidos32. Para postear en este grupo, escribe un email a embeb...@googlegroups.com. Para des-suscribirte, envía un email a embebidos32...@googlegroups.com. Para más opciones, visita el sitio del grupo en https://groups.google.com/d/forum/embebidos32?hl=es
---
Has recibido este mensaje porque estás suscrito al grupo "Embebidos32" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a embebidos32...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/embebidos32/10ba10c6-4c81-474f-a787-2034931a4e01n%40googlegroups.com.
Has recibido este mensaje porque estás suscrito a un tema del grupo "Embebidos32" de Grupos de Google.
Para cancelar la suscripción a este tema, visita https://groups.google.com/d/topic/embebidos32/7_mnhsaqIF4/unsubscribe.
Para cancelar la suscripción a este grupo y a todos sus temas, envía un correo electrónico a embebidos32...@googlegroups.com.
Para ver este debate en la Web, visita https://groups.google.com/d/msgid/embebidos32/20210219134303.GF30614%40dci.dci.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/embebidos32/CAHF%2BnmtoPcU9XWSwQuVv9dkiMHVh8Sr8iCVxnboHJDG0gYYFCw%40mail.gmail.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/embebidos32/CAEpiJ%2BQ%3D-c5ywv5Bd8gS0yxv3iGYa9rnWqSS_Z46Lp%3DJWkH2WA%40mail.gmail.com.