
SPI slave program to enable communication between the FPGA and the STM32L432 board.
Diff: main.cpp
- 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 }