SPI slave program to enable communication between the FPGA and the STM32L432 board.

Dependencies:   mbed

Revision:
10:5b96211275d4
Parent:
9:9ed9dffd602a
Child:
11:366f1186c121
--- a/main.cpp	Thu Mar 07 01:16:48 2019 +0000
+++ b/main.cpp	Fri Mar 08 01:33:51 2019 +0000
@@ -30,6 +30,7 @@
 IMU IMU0 (0, -306.0f, -131.0f, -351.0f, 254.0f, -14.0f, 81.0f, 0, 3);
 IMU_Data Dat;
 vector Datt;
+int D2T;
 
 
 Timer t;
@@ -130,8 +131,8 @@
     data_to_transmit[8] = 9;
     data_to_transmit[9] = 10;
     data_to_transmit[10] = 11;
-    data_to_transmit[11] = 16;
-    data_to_transmit[12] = 13;
+    data_to_transmit[11] = 12;
+    //data_to_transmit[12] = 13;
     
 
     while(1) {
@@ -146,20 +147,21 @@
     DMA1_CH3_Transfer_Complete_Flag = DMA1->ISR&(1u<<9);
     DMA1_CH2_Transfer_Error_Flag = DMA1->ISR&(1u<<7);
     DMA1_CH3_Transfer_Error_Flag = DMA1->ISR&(1u<<11);
+    //D2T
     
      pc.printf("RXNE: %d,       TXE: %d,        BSY: %d,        CH2 Transfer Complete: %d,      CH2 Transfer Complete: %d,       CH2 Transfer Error: %d,       CH3 Transfer Error: %d\n\r",stateRXNE, stateTXE, stateBSY, DMA1_CH2_Transfer_Complete_Flag, DMA1_CH3_Transfer_Complete_Flag, DMA1_CH2_Transfer_Error_Flag, DMA1_CH3_Transfer_Error_Flag);
      
      if(DMA1->ISR&(1u<<5)) {                                                    //Check whether data read transfer is complete
-        for(int x = 0; x <= 11; x++) {
-            data_to_transmit[x] = x;
+        for(int x = 0; x <= 12; x++) {
+            IMUarray[x] = received_data[x];
         }
         CLEAR_DMA1_CH2_IFCR_GFLAG();                                            //Clear global channel interrupt flag for channel 2
      }
      
      if(DMA1->ISR&(1u<<9)) {                                                    //Check whteher data transmit transfer is complete  
         //Read data from the array that stores received data
-        for(int x = 0; x <= 11; x++) {
-            IMUarray[x] = received_data[x];
+        for(int x = 0; x <= 12; x++) {
+            data_to_transmit[x] = x+1;
         }
         CLEAR_DMA1_CH3_IFCR_GFLAG();                                            //Clear global channel interrupt flag for channel 3
      }