Перейти к содержанию

    

ft245 bitbang

Прошу помощи разобраться с двумя устройствами на ft245

Цель, по команде с ПК устанавливать 1 на определенный пин, с 1го по 4ый.

Устройства два, куплены на собранной плате. Ошибок в монтаже нет.

Насколько корректно подключаться к каждому устройству по индексу (OpenByIndex(fo,0) ли (OpenByIndex(fo,1)?

Периодически микросхема уходит в себя и без снятия питания не откликается.

Или не устанавливаться 1 определенном выводе. При этом функции возвращают FT_OK

код матлаб такой

 

function [ output_args ] = FT_245_SWITCHES( nbr_chanel )

f = NET.addAssembly('C:\FTD2XX_NET.dll');

% посмотреть возможные методы

%methodsview( 'FTD2XX_NET.FTDI');

 

% открываем доступ к первому комутатору

fo=FTD2XX_NET.FTDI;

 

allBitsOutputMask = uint8(255); % '1' bit is output

bitBangMode = uint8(1); % '1' mode is async bitbang

x(1) = uint8(nbr_chanel);% 1 2 4 8

 

r = OpenByIndex(fo,0);

r = SetBitMode( fo, allBitsOutputMask, bitBangMode);

r = Write( fo, x, 1, 0);

pause(0.5);

r = Close(fo);

pause(0.1);

 

r = OpenByIndex(fo,1);

r = SetBitMode( fo, allBitsOutputMask, bitBangMode);

r = Write( fo, x, 1, 0);

pause(0.5);

r = Close(fo);

 

на данный момент, на 1 ом устройстве не устанавливается 1 пин, а на втором 4 ый

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация