Типичный рабочий процесс для передачи данных по интерфейсу 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 для Функций.