Типичный рабочий процесс для передачи данных по интерфейсу SPI включает открытие адаптера, связь, коммуникацию и очистку. Открытие может быть сделано только на уровне адаптера. У вас должны быть Общий адаптер Муравьеда Фазы или плата адаптера NI-845x, установленная, чтобы использовать интерфейс spi
.
Передайте данные по SPI Используя муравьеда
Этот пример показывает, как связаться с чипом EEPROM на печатной плате с параметром плат 0 и порт использования 0.
Гарантируйте, что адаптер Муравьеда установлен так, чтобы можно было использовать интерфейс spi
.
Посмотрите на свойства адаптера.
Убедитесь, что вам установили программный драйвер Муравьеда и что aardvark.dll
находится на вашем пути MATLAB®. Для получения дополнительной информации смотрите Требования Использования Интерфейса SPI и Инструкции.
Создайте объект SPI под названием S
, с помощью этих свойств:
% Vendor = aardvark % BoardIndex = 0 % Port = 0 S = spi('aardvark', 0, 0);
Необходимо обеспечить эти три параметра, чтобы создать объект.
Посмотрите на свойства объектов.
Когда вы создаете объект spi
, коммуникационные настройки по умолчанию используются, как показано здесь. Чтобы изменить любую из этих настроек, смотрите Using Properties на Объекте SPI для получения дополнительной информации и списке свойств.
Соединитесь с чипом.
connect(S);
Читайте и запишите в чип.
% Create a variable containing the data to write dataToWrite = [3 0 0 0]; % Write the binary data to the chip write(S, dataToWrite); % Create a variable that contains the number of values to read numData = 5; % Read the binary data from the chip data = read(S, numData);
Отключите устройство SPI и вымойтесь путем очистки объекта.
disconnect(S); clear('S');
Передайте данные по SPI Используя NI-845x
Этот пример показывает, как связаться с чипом EEPROM на печатной плате с параметром плат 0 и порт использования 0.
Гарантируйте, что адаптер NI-845x установлен так, чтобы можно было использовать интерфейс spi
.
Посмотрите на свойства адаптера NI-845x.
Убедитесь, что вам установили программный драйвер NI-845x. Для получения дополнительной информации смотрите Требования Использования Интерфейса SPI и Инструкции.
Создайте объект SPI под названием s2
, с помощью этих свойств:
% Vendor = ni845x % BoardIndex = 0 % Port = 0 s2 = spi('ni845x', 0, 0);
Необходимо обеспечить эти три параметра, чтобы создать объект.
Посмотрите на свойства объектов.
Когда вы создаете объект spi
, коммуникационные настройки по умолчанию используются, как показано здесь. Чтобы изменить любую из этих настроек, смотрите Using Properties на Объекте SPI для получения дополнительной информации и списке свойств.
Соединитесь с чипом.
connect(s2);
Читайте и запишите в чип.
% Create a variable containing the data to write dataToWrite = [3 0 0 0]; % Write the binary data to the chip write(s2, dataToWrite); % Create a variable that contains the number of values to read numData = 5; % Read the binary data from the chip data = read(s2, numData); ans = 0 0 0 0 0
Отключите устройство SPI и вымойтесь путем очистки объекта.
disconnect(s2); clear('s2');
Функции SPI
Можно использовать эти функции с объектом spi
.
SPI является полнодуплексным протоколом связи, и данные должны быть написаны в порядке считать данные. Можно использовать функцию read
, чтобы записать фиктивные данные в устройство. Функция write
сбрасывает данные, возвращенные устройством. Функция writeAndRead
делает чтение и пишет вместе.
Функция | Цель |
---|---|
instrhwinfo | Проверяйте, что адаптер Муравьеда и/или NI-845x установлен.
Посмотрите на свойства адаптера.
|
spiinfo | Возвращает информацию об устройствах и отображает информацию о на основание поставщика.
|
connect | Соедините объект SPI с устройством. Используйте этот синтаксис:
|
read | Синхронно считайте двоичные данные из устройства. Чтобы считать данные, сначала создайте переменную, такую как numData , чтобы задать размер данных, чтобы читать. В этом случае создайте переменную, чтобы считать 5 байтов. Затем используйте функцию read как показано здесь, где spiObject является именем вашего объекта. Этот процесс также показывают на шаге 6 предыдущего примера. Точность данных является UINT8.
Или можно использовать этот синтаксис:
|
write | Синхронно запишите двоичные данные в устройство. Чтобы записать данные, сначала создайте переменную, такую как dataToWrite . В этом случае создайте данные [3 0 0 0] . Затем используйте функцию write как показано здесь, где spiObject является именем вашего объекта. Этот процесс также показывают на шаге 6 предыдущего примера. Точность записанных данных является UINT8.
|
writeAndRead | Синхронно сделайте одновременное чтение и запись двоичных данных с устройством. В этом случае функция синхронно пишет данные, заданные переменной dataToWrite к устройству в двоичном формате, затем синхронно читает из устройства и возвращает данные в переменную data , как показано сюда, где spiObject является именем вашего объекта. Точность записанных данных и читала, UINT8.
|
disconnect | Отключите объект SPI от устройства. Используйте этот синтаксис:
|
Чтобы получить список опций, можно использовать на функции, нажать клавишу Tab после ввода функции на командной строке MATLAB. Список расширяется, и можно прокрутить, чтобы выбрать свойство или значение. Для получения информации об использовании этой функции завершения вкладки "Дополнительно" смотрите Используя Заполнение клавишей Tab для Функций.