/*************************************************************************************************************
  Copyright (C) 2016-2022 JSC "ICC Milandr" 

*************************************************************************************************************/

/*
 *
 *  Файл:      readme.txt
 *  Описание:  Описание примера SPI_MasterSlave
 *
 *  История:
 *             06.10.22  - cоздан
 *
 */


/* Описание примера ----------------------------------------------------------------------------------------*/

В данном примере приведено, как настроить интерфейс SPI для выполнения передачи и приёма массива данных. 

Интерфейс SPI0 настраивается в режиме ведомого, а интерфейс SPI2 - в режиме ведущего. Обмен данными происходит 
с помощью DMA. При работе SPI0 в режиме ведомого в качестве входа CS необходимо выбирать CSNum = 1 (SPI0_CS[1]). 
Для SPI1 и SPI2 CSNum всегда равен нулю.

Если данные были переданы и получены успешно, то в отладочную консоль будет выведено сообщение "Result: Success". 
Если в ходе работы примера была зафиксирована ошибка, то в отладочную консоль будет выведено сообщение
"Result: Error - <Описание проблемы>".


/* Содержание каталога -------------------------------------------------------------------------------------*/

    - main.c               Основная программа
    - project.ldf          Файл сценария для компоновщика
    - session.lldbinit     Файл инициализации периферии до запуска отладки
    - .cproject, .project  Файлы конфигурации проекта


/* Аппаратная и программная среда --------------------------------------------------------------------------*/

    - Интегрированная среда разработки CM-LYNX.
    - Отладочная плата для процессора 1967ВН044.
	
	Для обмена данными между SPI0 и SPI2 необходимо замкнуть следующие разъёмы на модуле отладочном:
	- XS1.2:10(PA4 - SPI0_CLK)   объединить с XS8:21(PB0 - SPI2_CLK);
	- XS1.2:8 (PA5 - SPI0_DO)    объединить с XS8:23(PB1 - SPI2_DO), (в режиме ведомого SPI0_DO - вход);
	- XS1.2:6 (PA6 - SPI0_DI)    объединить с XS8:25(PB2 - SPI2_DI), (в режиме ведомого SPI0_DI - выход);
	- XS1.2:4 (PA8 - SPI0_CS[1]) объединить с XS8:27(PB3 - SPI2_CS).
	
	Перед началом работы необходимо перевести 2 канал микросхемы DD2 в неактивное состояние. Для этого:
    - для модуля отладочного вер. 2.31 и более необходимо снять джампер с разъёма XP1 и установить в ПО вывод 
    процессора flag2 в высокоимпедансное состояние либо в состояние логического «0».
    - для модуля отладочного вер. 2.3 и менее необходимо установить джампер на разъём XP1.


/* Использование -------------------------------------------------------------------------------------------*/

Для запуска примера необходимо выполнить следующие действия:
    - Создать новое или открыть существующее рабочее пространство (Workspace).
    - Выполнить импорт проекта "SPI_MasterSlave" в соответствии с "ML_GUI_Руководство_пользователя_R_Vx", 
      п. "Импорт существующего проекта".
    - Выполнить сборку проекта.
    - Создать конфигурацию отладки в соответствии с "ML_GUI_Руководство_пользователя_R_Vx", п. "Настройка 
      конфигурации и запуск отладки".
    - Запустить пример в режиме отладки.

Подробное описание библиотеки HAL с примерами использования функций приведено в каталоге по пути:
"CM-LYNX.x.yy.zz\toolchain\1967VN044\HAL\doc".
