реклама на сайте
подробности

 
 
> Help как работать с FT245RL, Помогите начинающему плиз...
Iva01983
сообщение May 22 2007, 13:45
Сообщение #1





Группа: Новичок
Сообщений: 13
Регистрация: 22-05-07
Из: Санкт-Петербург
Пользователь №: 27 887



help.gif Здравствуйте... я начинающий в этом деле поэтому прошу помочь, учусь на 4 курсе на инженера... и хочется знать не только закон Ома... поэтому сам собираю инфу и пытаюсь переварить её... В моём устройстве пытаюсь использовать FT245R но пока как-то неочень получается)))))... задача его "загнать" в режим bit bang... и указать по какой "ноге" он должен принимать сигнал по какой передавать... в роли источника сигнала АЦП...
Пытаюсь работать в соответствии с D2XX Programmer's Guide... хотелось бы хоть одним глазком увидеть пример работы с этой микросхемкой в Delphi...
P.S. я не пользовался раньше форумами... может тупой вопрос задаю... или не туда зашел smile3046.gif ... тогда укажите плиз сразу (время тратить нехочу)...

Сообщение отредактировал Iva01983 - May 22 2007, 14:01
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
KRS
сообщение May 22 2007, 14:09
Сообщение #2


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Надо использовать FTDI через direct driver, все функции описаны в D2XXPG33.pdf (может уже и свежее есть)
у 245R есть 2 бит банг режима IMHO Synchronous Bit Bang намного удобнее!
Инициализация примерно так (делал для SPI мастер )
Freq - требуемая частота SPI
Код
bool Open(unsigned Freq)
{
    DWORD Num;
    DWORD Tmp;
    DWORD Baud;
    unsigned i;
    hFtdi = 0;
    if (FT_Open(0,&hFtdi)!=FT_OK) {
        hFtdi=0;
        if (FT_Open(1,&hFtdi)!=FT_OK) {
            hFtdi=0;
            return false;
        }
    }
    FT_SetUSBParameters(hFtdi,5120,5120);
    if (FT_SetLatencyTimer(hFtdi,2)!=FT_OK) {
        Close();
        return false;
    }
    if (FT_SetBitMode(hFtdi,(1<<MOSI_PIN) | (1<<SCK_PIN),4)!=FT_OK) {
        Close();
        return false;
    }

    Baud=Freq/8;
    if (FT_SetBaudRate(hFtdi,Baud)!=FT_OK) {
        Close();
        return false;
    }
    Tmp=0;
    if (FT_Write(hFtdi,&Tmp,1,&Num)!=FT_OK) return false;
    Sleep(10);
    FT_Purge(hFtdi,FT_PURGE_RX | FT_PURGE_TX);
    Sleep(10);
    FT_Purge(hFtdi,FT_PURGE_RX | FT_PURGE_TX);
    return true;
}



Цитата(Iva01983 @ May 22 2007, 17:45) *
Пытаюсь работать в соответствии с D2XX Programmer's Guide... хотелось бы хоть одним глазком увидеть пример работы с этой микросхемкой в Delphi...

Здесь есть примеры
http://www.ftdichip.com/Projects/CodeExamples/Delphi.htm
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 08:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.0136 секунд с 7
ELECTRONIX ©2004-2016