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
Gonzakpo 0:b3e50e98acac 3 #ifndef DMA_H_
Gonzakpo 0:b3e50e98acac 4 #define DMA_H_
Gonzakpo 0:b3e50e98acac 5
Gonzakpo 0:b3e50e98acac 6 #include "mbed.h"
Gonzakpo 0:b3e50e98acac 7
Gonzakpo 0:b3e50e98acac 8
Gonzakpo 0:b3e50e98acac 9 /************************************DEFINICIONES DE TIPOS********************************************/
Gonzakpo 0:b3e50e98acac 10 /*Estructura de los nodos usados por las Listas del DMA*/
Gonzakpo 0:b3e50e98acac 11 typedef struct
Gonzakpo 0:b3e50e98acac 12 {
Gonzakpo 0:b3e50e98acac 13 unsigned long int sourceAddr; /*Direccion inicial de la memoria/periferico de partida*/
Gonzakpo 0:b3e50e98acac 14 unsigned long int destAddr; /*Direccion inicial de la memoria/periferico de destino*/
Gonzakpo 0:b3e50e98acac 15 unsigned long int nextNode; /*Proximo nodo de la lista (una vez que se enviaron todos los datos*/
Gonzakpo 0:b3e50e98acac 16 unsigned long int dmaControl; /*Registro de configuracion del DMA que puede ser modificado nodo a nodo*/
Gonzakpo 0:b3e50e98acac 17 /* Detalle dmaControl: Pagina 603 del User Manual del LPC1768 */
Gonzakpo 0:b3e50e98acac 18 }dmaLinkedListNode;
Gonzakpo 0:b3e50e98acac 19
Gonzakpo 0:b3e50e98acac 20 /* Tipo de dato booleano */
Gonzakpo 0:b3e50e98acac 21 typedef enum {FALSE, TRUE} bool_t;
Gonzakpo 0:b3e50e98acac 22
Gonzakpo 0:b3e50e98acac 23 /* Tipo de dato usado para saber que buffer debo procesar/escribir */
Gonzakpo 0:b3e50e98acac 24 typedef enum {PING, PONG} pingpong_t;
Gonzakpo 0:b3e50e98acac 25
Gonzakpo 0:b3e50e98acac 26 /*****************************************VARIABLES***************************************************/
Gonzakpo 0:b3e50e98acac 27 /* Se decidio el uso de variables globales en lugar de wrappers para agilizar el codigo lo mas posible. */
Gonzakpo 0:b3e50e98acac 28
Gonzakpo 0:b3e50e98acac 29 /* Esta variable indica si se atendio una interrupcion */
Gonzakpo 0:b3e50e98acac 30 /* Nos indica si se completo la adquisicion de uno de los buffers */
Gonzakpo 0:b3e50e98acac 31 extern bool_t BufferTransferCompleted;
Gonzakpo 0:b3e50e98acac 32
Gonzakpo 0:b3e50e98acac 33 /* Esta variable indica que buffer debo procesar/escribir */
Gonzakpo 0:b3e50e98acac 34 extern pingpong_t BufferToProcess;
Gonzakpo 0:b3e50e98acac 35
Gonzakpo 0:b3e50e98acac 36 /*****************************************FUNCIONES***************************************************/
Gonzakpo 0:b3e50e98acac 37 void initDMAs(dmaLinkedListNode *, dmaLinkedListNode *); /* Inicializacion de los canales DMA */
Gonzakpo 0:b3e50e98acac 38
Gonzakpo 0:b3e50e98acac 39 #endif /* DMA_H_ */