Real Time FIR Filter - Distinctive Excellence award winner :)

Dependencies:   mbed

Committer:
Gonzakpo
Date:
Sat Aug 13 17:35:52 2011 +0000
Revision:
0:b3e50e98acac

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Gonzakpo 0:b3e50e98acac 1
Gonzakpo 0:b3e50e98acac 2 #include "adc_dac.h"
Gonzakpo 0:b3e50e98acac 3
Gonzakpo 0:b3e50e98acac 4 void initDAC(void)
Gonzakpo 0:b3e50e98acac 5 {
Gonzakpo 0:b3e50e98acac 6 LPC_PINCON->PINSEL1 |= (0x2 << 20); /* Salida del DAC por pin numero P0.26 (AOUT)*/
Gonzakpo 0:b3e50e98acac 7 /* (Unico pin posible para esta funcion) */
Gonzakpo 0:b3e50e98acac 8 LPC_PINCON->PINMODE1 |= (0x2 << 20); /* Deshabilito R de pull-up y R de pull-down */
Gonzakpo 0:b3e50e98acac 9
Gonzakpo 0:b3e50e98acac 10 LPC_SC->PCLKSEL0 |= (0x3 << 22); /* Clock del DAC: */
Gonzakpo 0:b3e50e98acac 11 /* 00 = CLCK/4 */
Gonzakpo 0:b3e50e98acac 12 /* 01 = CLCK */
Gonzakpo 0:b3e50e98acac 13 /* 10 = CLCK/2 */
Gonzakpo 0:b3e50e98acac 14 /* 11 = CLCK/8 */
Gonzakpo 0:b3e50e98acac 15
Gonzakpo 0:b3e50e98acac 16 LPC_DAC->DACCTRL = 0x00; /* Desabilitar contador y DMA requests */
Gonzakpo 0:b3e50e98acac 17
Gonzakpo 0:b3e50e98acac 18 }
Gonzakpo 0:b3e50e98acac 19
Gonzakpo 0:b3e50e98acac 20 void initADC(void)
Gonzakpo 0:b3e50e98acac 21 {
Gonzakpo 0:b3e50e98acac 22 LPC_SC->PCONP |= (1 << 12); /* Enciendo modulo ADC */
Gonzakpo 0:b3e50e98acac 23
Gonzakpo 0:b3e50e98acac 24 LPC_PINCON->PINSEL1 |= (0x1 << 14); /* Salida del ADC por pin numero P0.23 (AD0.0) */
Gonzakpo 0:b3e50e98acac 25
Gonzakpo 0:b3e50e98acac 26 LPC_PINCON->PINMODE1 |= (0x2 << 14); /* Deshabilito R de pull-up y R de pull-down */
Gonzakpo 0:b3e50e98acac 27
Gonzakpo 0:b3e50e98acac 28 LPC_SC->PCLKSEL0 |= (0x3 << 24); /* Clock del ADC: */
Gonzakpo 0:b3e50e98acac 29 /* 00 = CLCK/4 */
Gonzakpo 0:b3e50e98acac 30 /* 01 = CLCK */
Gonzakpo 0:b3e50e98acac 31 /* 10 = CLCK/2 */
Gonzakpo 0:b3e50e98acac 32 /* 11 = CLCK/8 */
Gonzakpo 0:b3e50e98acac 33
Gonzakpo 0:b3e50e98acac 34 LPC_ADC->ADCR = (0x01 << 0) | /* Selecciono el canal cero del ADC */
Gonzakpo 0:b3e50e98acac 35 (0x00 << 8) | /* Minimo clk_div. Recordar que este es el clock de coversion del ADC. No el tiempo entre muestras. El maximo admisible es 13MHz. */
Gonzakpo 0:b3e50e98acac 36 (0x00 << 24); /* Configuracion de START: como trabaja en modo BURST el start debe quedar en 0 */
Gonzakpo 0:b3e50e98acac 37
Gonzakpo 0:b3e50e98acac 38 LPC_ADC->ADINTEN = 0x00; /* Todas las interrupciones DESACTIVADAS */
Gonzakpo 0:b3e50e98acac 39
Gonzakpo 0:b3e50e98acac 40 /* Finalmente, inicio el ADC*/
Gonzakpo 0:b3e50e98acac 41 LPC_ADC->ADCR |= (0x1 << 21); /* Inicio ADC */
Gonzakpo 0:b3e50e98acac 42 LPC_ADC->ADCR |= (0x1 << 16); /* Inicio Modo Burst (conversion continua) */
Gonzakpo 0:b3e50e98acac 43
Gonzakpo 0:b3e50e98acac 44 }