Detailed Description
зависимости для исходного кода модуля
Следующие файлы должны быть скомпилированы с любым проектом, который использует этот модуль:
модуля
Драйвер для аппаратного порта SPI, имеющегося на большинстве моделей AVR. Этот модуль предоставляет простой в использовании драйвер для настройки порта AVR SPI и передачи через него данных.
Define Documentation
#define SPI_MODE_MASTER (1 << MSTR) |
Маска режима режима SPI для SPI_Init(). Указывает, что интерфейс SPI должен быть сконфигурирован в ведущем режиме (master mode).
#define SPI_MODE_SLAVE (0 << MSTR) |
Маска режима режима SPI для SPI_Init(). Указывает, что интерфейс SPI должен быть сконфигурирован в подчиненном режиме (slave mode).
#define SPI_ORDER_LSB_FIRST (1 << DORD) |
Маска порядка бит данных SPI для SPI_Init(). Показывает, что данные должны выдвигаться младшим (LSB) битом вперед.
#define SPI_ORDER_MSB_FIRST (0 << DORD) |
Маска порядка бит данных SPI для SPI_Init(). Показывает, что данные должны выдвигаться старшим (MSB) битом вперед.
#define SPI_SAMPLE_LEADING (0 << CPHA) |
Маска режима выборки данных SPI для SPI_Init(). Показывает, что данные должны быть считаны по фронту сигнала.
#define SPI_SAMPLE_TRAILING (1 << CPHA) |
Маска режима выборки данных SPI для SPI_Init(). Показывает, что данные должны быть считаны по спаду сигнала.
#define SPI_SCK_LEAD_FALLING (1 << CPOL) |
Маска полярности тактов SPI для SPI_Init(). Показывает, что SCK должен работать по спаду сигнала.
#define SPI_SCK_LEAD_RISING (0 << CPOL) |
Маска полярности тактов SPI для SPI_Init(). Показывает, что SCK должен работать по фронту сигнала.
#define SPI_SPEED_FCPU_DIV_128 ((1 << SPR1) | (1 << SPR0)) |
Маска прескалера SPI для SPI_Init(). Делит тактовую частоту ядра на 128.
#define SPI_SPEED_FCPU_DIV_16 (1 << SPR0) |
Маска прескалера SPI для SPI_Init(). Делит тактовую частоту ядра на 16.
#define SPI_SPEED_FCPU_DIV_2 SPI_USE_DOUBLESPEED |
Маска прескалера SPI для SPI_Init(). Делит тактовую частоту ядра на 2.
#define SPI_SPEED_FCPU_DIV_32 (SPI_USE_DOUBLESPEED | (1 << SPR1)) |
Маска прескалера SPI для SPI_Init(). Делит тактовую частоту ядра на 32.
#define SPI_SPEED_FCPU_DIV_4 0 |
Маска прескалера SPI для SPI_Init(). Делит тактовую частоту ядра на 4.
#define SPI_SPEED_FCPU_DIV_64 (SPI_USE_DOUBLESPEED | (1 << SPR1) | (1 << SPR0)) |
Маска прескалера SPI для SPI_Init(). Делит тактовую частоту ядра на 64.
#define SPI_SPEED_FCPU_DIV_8 (SPI_USE_DOUBLESPEED | (1 << SPR0)) |
Маска прескалера SPI для SPI_Init(). Делит тактовую частоту ядра на 8.
Function Documentation
static void SPI_Init |
( |
const uint8_t |
SPIOptions | ) |
[inline, static] |
Инициализирует подсистему SPI, после чего она готова для передачи данных. Эта инициализация должна быть вызвана перед вызовом любых других подпрограм SPI.
- Parameters:
-
[in] | SPIOptions | Опции SPI - маска, составленная из масок SPI_SPEED_*, SPI_SCK_*, SPI_SAMPLE_*, SPI_ORDER_* and SPI_MODE_* masks. |
static uint8_t SPI_ReceiveByte |
( |
void |
| ) |
[inline, static] |
Отправляет ничего не значащий байт через интерфейс SPI, с блокированием выполнения программы, пока передача не завершится. Возвращает байт ответа, посылаемый от подключенного устройства SPI.
- Returns:
- The байт ответа от подключенного устройства SPI
static void SPI_SendByte |
( |
const uint8_t |
Byte | ) |
[inline, static] |
Отправляет байт через интерфейс SPI, с блокированием выполнения программы, пока передача не завершится. Байт ответа, посылаемый от подключенного устройства SPI, игнорируется.
- Parameters:
-
[in] | Byte | байт для отправки через интерфейс SPI |
static void SPI_ShutDown |
( |
void |
| ) |
[inline, static] |
Выключает драйвер SPI, запрещает и возвращает ипользовавшуюся аппаратуру в свою исходную конфигурацию по умолчанию.
static uint8_t SPI_TransferByte |
( |
const uint8_t |
Byte | ) |
[inline, static] |
Отправляет и принимает байт через интерфейс SPI, с блокированием выполнения программы, пока передача не завершится.
- Parameters:
-
[in] | Byte | байт для отправки через интерфейс SPI |
- Returns:
- байт ответа от подключенного устройства SPI