/**************************************************************** * * * MFBSP_SPI_DMA * * * * Демонстрирует передачу массива данных из одного канала SPI * * в другой с использованием DMA (с ожиданием по опросу). * * MFBSP1 - SPI master (передатчик), * * MFBSP0 - SPI slave (приемник). * * Массив OutputArray заполняется числами, * * затем пересылается из MFBSP1 в MFBSP0. * * Элементы входного массива InputArray проверяются * * на совпадение их значений с порядковыми номерами, * * возвращаемое значение этой фунции копируется в переменную * * Flag_Corr. * * Для работы примера необходимо соединить SPI0 и SPI1: * * MISO <-> MISO (LDAT1[2] <-> LDAT0[2]) * * MOSI <-> MOSI (LDAT1[3] <-> LDAT0[3]) * * SS[1] <-> SS[1] (LDAT1[0] <-> LDAT0[0]) * * TSCK3 <-> RSCK2 (LCLK1 <-> LACK0) * * * * Для отладочного модуля Салют-Д1: * * * ****************************************************************/ #include "mcom_runtime/risc_mfbsp.h" #include "mcom_runtime/mcom02.h" // длина передаваемого массива в 32-разрядных словах #define LEN 512 // частота работы I2S в Гц #define SPI_FRQ 6000000 unsigned int OutputArray[LEN] __attribute__ ((aligned (8))); unsigned int InputArray[LEN] __attribute__ ((aligned (8))); // флаг корректности принятых данных unsigned int Flag_Corr =0; void FillArray(unsigned int *array, unsigned int len) { unsigned int i; for (i=0;i