DMA library for the KL25Z

Dependents:   SimpleDMA_HelloWorld RTOS_SPI spiDMAtest Pinscape_Controller_v1 ... more

Introduction

SimpleDMA is a standard library for different DMA peripherals. Currently the LPC1768, KL46Z and KL25Z are supported. It provided one set of functions for different peripherals. It does not allow for usage of all the advanced functions, partially because the goal was to provide a simple interface, and partially because they are different for different microcontrollers.

Examples

Helloworld: http://mbed.org/users/Sissors/code/SimpleDMA_HelloWorld/

Example in a library (SPI): http://mbed.org/users/Sissors/code/RTOS_SPI/

Files at this revision

API Documentation at this revision

Comitter:
marcusbirkin
Date:
Tue Jan 27 14:30:18 2015 +0000
Parent:
7:d3be727fa9d2
Child:
9:f7345d41b076
Commit message:
Changed length argument in start from int to uint32_t; The length registers are unsigned 32bit not signed.

Changed in this revision

SimpleDMA.h Show annotated file Show diff for this revision Revisions of this file
SimpleDMA_KL25_46.cpp Show annotated file Show diff for this revision Revisions of this file
SimpleDMA_LPC1768.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/SimpleDMA.h	Fri Jun 27 10:12:27 2014 +0000
+++ b/SimpleDMA.h	Tue Jan 27 14:30:18 2015 +0000
@@ -102,7 +102,7 @@
 *
 * @param length - number of BYTES to be moved by the DMA
 */
-int start(int length);
+int start(uint32_t length);
 
 /**
 * Is the DMA channel busy
--- a/SimpleDMA_KL25_46.cpp	Fri Jun 27 10:12:27 2014 +0000
+++ b/SimpleDMA_KL25_46.cpp	Tue Jan 27 14:30:18 2015 +0000
@@ -25,7 +25,7 @@
 }
 
 
-int SimpleDMA::start(int length) {  
+int SimpleDMA::start(uint32_t length) {  
     if (auto_channel)
         _channel = getFreeChannel();
     else
--- a/SimpleDMA_LPC1768.cpp	Fri Jun 27 10:12:27 2014 +0000
+++ b/SimpleDMA_LPC1768.cpp	Tue Jan 27 14:30:18 2015 +0000
@@ -18,7 +18,7 @@
     NVIC_EnableIRQ(DMA_IRQn);          
 }
 
-int SimpleDMA::start(int length) {
+int SimpleDMA::start(uint32_t length) {
     if (auto_channel)
         _channel = getFreeChannel();
     else