test

Dependencies:   SimpleDMA mbed-rtos mbed

Fork of spiDMAtest by Shreesha S

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "SimpleDMA.h"
00003 #include "dmaSPIslave.h"
00004 
00005 #define PAYLOAD_LENGTH 1024
00006 
00007 dmaSPISlave spi(PTD6, PTD7, PTD5,PTD4 ); 
00008 RawSerial pc(USBTX, USBRX);
00009 //DigitalOut ledg(LED_GREEN);
00010 
00011 bool flag = false;
00012 
00013 void do_this(void){
00014     flag = true;
00015 }
00016 
00017 int main(){
00018     pc.baud(9600);
00019     pc.printf("inside main\r\n");
00020     spi.format(8,0);
00021     spi.frequency(10000000);
00022     
00023     uint8_t buffer[PAYLOAD_LENGTH] = {0};
00024     pc.printf("welcome to dma test, start sending data now\r\n");
00025 
00026 //    initialise the buffer for dma
00027     spi.bulkRead_init(buffer, PAYLOAD_LENGTH, &do_this);
00028 //    start dma read
00029     spi.bulkRead_start();
00030     
00031     while(true){
00032         if(flag){
00033             flag = false;
00034             //ledg = !ledg;
00035             
00036 
00037             for(int i = 0 ; i < PAYLOAD_LENGTH ; ++i){
00038                 pc.printf("data %d   %d  \r\n",i, buffer[i]);            }
00039           pc.printf("\r\n");
00040 
00041             //start dma again after handling the data
00042             spi.bulkRead_start();
00043         }
00044     }
00045     
00046 }