

ПРОГРАММИРОВАНИЕ
74
WWW.SOEL.RUСОВРЕМЕННАЯ ЭЛЕКТРОНИКА
◆
№ 8 2010
Таблица 47. Описание функции Spi_Write
Прототип
void Spi_Write(unsigned short data)
Возвращаемое значение Нет
Описание
Записывает передаваемый байт data в регистр данных SSPBUF, что немедленно вызывает передачу
Требования
Требуется PIC микроконтроллер с аппаратным модулем SPI. SPI должен быть предварительно проинициализирован функциями Spi_Init_Advanced
или Spi_Init
Пример
Spi_Write(1)
Таблица 46. Описание функции Spi_Read
Прототип
unsigned short Spi_Read(unsigned short buffer)
Возвращаемое значение Возвращает принятый байт
Описание
Запускает обмен посылкой байта buffer, принимает данные и возвращает принятый байт по окончанию приёма
Требования
Требуется PIC микроконтроллер с аппаратным модулем SPI. SPI должен быть предварительно проинициализирован функциями Spi_Init_Advanced
или Spi_Init
Пример
short take, buffer;
...
take = Spi_Read(buffer);
Таблица 44. Описание функции Spi_Init
Прототип
void Spi_Init(void)
Возвращаемое значение Нет
Описание
Конфигурирование и инициализация SPI установками по умолчанию. Spi_Init_Advanced или Spi_Init должны вызываться перед использованием любых
других функций библиотеки SPI. Установки по умолчанию: режим ведущего, частота синхронизации Fosc/4, низкий уровень при отсутствии
синхросигнала на соответствующем выводе, передача по фронту, стробирование входных данных в середине интервала синхронизации.
Для установки собственных настроек необходимо использовать функцию Spi_Init_Advanced
Требования
Требуется PIC микроконтроллер с аппаратным модулем SPI
Пример
Spi_Init()
Таблица 45. Описание функции Spi_Init_Advanced
Прототип
void Spi_Init_Advanced(unsigned short master, unsigned short data_sample, unsigned short clock_idle, unsigned short transmit_edge)
Возвращаемое значение Нет
Описание
Конфигурирование и инициализация SPI. Spi_Init_Advanced или Spi_Init должны вызываться перед использованием любых других функций библиотеки
SPI. Аргумент mast_slav определяет режим работы SPI и может принимать следующие значения:
MASTER_OSC_DIV4 // Ведущий, частота синхр.=Fosc/4
MASTER_OSC_DIV16 // Ведущий, частота синхр.=Fosc/16
MASTER_OSC_DIV64 // Ведущий, частота синхр.=Fosc/64
MASTER_TMR2 // Ведущий, частоту синхр. задает TMR2
SLAVE_SS_ENABLE // Ведомый, разрешен Slave select
SLAVE_SS_DIS // Ведомый, запрещён Slave select
Аргумент data_sample определяет, когда стробируются входные данные, и может принимать следующие значения:
DATA_SAMPLE_MIDDLE // Входные данные стробируются
// в середине интервала синхронизации
DATA_SAMPLE_END // Входные данные стробируются
// в конце интервала синхронизации
Аргумент clock_idle определяет состояние вывода синхронизации при отсутствии обмена и может принимать следующие значения:
CLK_IDLE_HIGH // Высокий уровень на выводе
// синхронизации при отсутствии обмена
CLK_IDLE_LOW // Низкий уровень на выводе
// синхронизации при отсутствии обмена
Аргумент transmit_edge может принимать следующие значения:
LOW_2_HIGH // Данные передаются по фронту
HIGH_2_LOW // Данные передаются по спаду
Требования
Требуется PIC микроконтроллер с аппаратным модулем SPI
Пример
SPI устанавливается в режим ведущего с частотой синхронизации = Fosc/4, входные данные стробируются в середине интервала синхронизации, вывод
синхронизации в состоянии низкого уровня при отсутствии обмена и данные передаются по фронту:
Spi_Init_Advanced(MASTER_OSC_DIV4, DATA_SAMPLE_MIDDLE, CLK_IDLE_LOW, LOW_2_HIGH)
Таблица 43. Описание функции Ow_Write
Прототип
void Ow_Write(unsigned short *port, unsigned short pin, unsigned short par)
Возвращаемое значение Нет
Описание
Передаёт один байт данных (аргумент par) по шине OneWire
Требования
Нет
Пример
Ow_Write(&PORTA, 5, 0xCC)
© СТА-ПРЕСС