test
Dependencies: SimpleDMA mbed-rtos mbed
Fork of spiDMAtest by
main.cpp
00001 #include "mbed.h" 00002 #include "SimpleDMA.h" 00003 #include "dmaSPIslave.h" 00004 00005 00006 #define PAYLOAD_LENGTH 16 00007 #define PAY_SPI_MOSI PTD6 00008 #define PAY_SPI_MISO PTD7 00009 #define PAY_SPI_CLK PTD5 00010 #define PAY_SPI_CS PTE16 00011 00012 // dmaSPISlave spi(PAY_SPI_MOSI, PAY_SPI_MISO, PAY_SPI_CLK, PAY_SPI_CS); 00013 00014 dmaSPISlave spi(PTD6, PTD7, PTD5,PTD4 ); 00015 RawSerial pc(USBTX, USBRX); 00016 //DigitalOut ledg(LED_GREEN); 00017 00018 bool flag = false; 00019 00020 void do_this(void){ 00021 flag = true; 00022 } 00023 00024 int main(){ 00025 pc.baud(9600); 00026 pc.printf("inside main\r\n"); 00027 spi.format(8,0); 00028 spi.frequency(10000000); 00029 00030 uint8_t buffer[PAYLOAD_LENGTH] = {0}; 00031 pc.printf("welcome to dma test, start sending data now\r\n"); 00032 00033 // initialise the buffer for dma 00034 spi.bulkRead_init(buffer, PAYLOAD_LENGTH, &do_this); 00035 // start dma read 00036 spi.bulkRead_start(); 00037 00038 while(true){ 00039 if(flag){ 00040 flag = false; 00041 //ledg = !ledg; 00042 00043 00044 for(int i = 0 ; i < PAYLOAD_LENGTH ; ++i){ 00045 pc.printf("data %d %d \r\n",i, buffer[i]); } 00046 pc.printf("\r\n"); 00047 00048 //start dma again after handling the data 00049 spi.bulkRead_start(); 00050 } 00051 } 00052 00053 }
Generated on Sat Jul 30 2022 06:52:58 by 1.7.2