Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблемы с FT232BM
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
hd44780
Сделал устройство FT232BM + ATMega8535.
Работают на скорости 0.5 Mbit (такт МК 4MHz).

Когда связь идет без аппаратного flow control - все идеально. Только на больших объемах данных (порядка 10кб от МК в компза одно обращение) глохнет.
Сделал flow control CTS/RTS:

Код
// прием байта из USART
byte uartBufferGetchar ( void )
{
byte data;

RTS = 1;        // МК готов к приему

// ждем прихода символа
// Если UCSRA.RXC == 0 - символа нет
while ( UCSRA.RXC == 0 );

// считать принятый байт из регистра данных USART
data = UDR;

RTS = 0;        // МК не готов к приему
return data;
} // uartBufferGetchar

// передача байта в USART
void uartBufferPutchar ( byte c )
{
// ждать опустошения буфера передатчика
while ( UCSRA.UDRE == 0 );

// ждать готовности FT232BM
// CTS == 1 - FT232BM готова к приему, 0 - не готова;
while ( CTS == 0 );

UDR = c;
} // uartBufferPutchar


Реакции - ноль.
FT232 конфигурируется так:
Код
    // RTS/CTS flow control
    ftStatus = FT_SetFlowControl ( ftHandle, FT_FLOW_RTS_CTS, 0, 0 );
    if ( ftStatus != FT_OK )
    {
        FT_Close ( ftHandle );
        printf ( "FT_SetFlowControl failed \n" );

        return 1;
    } // if


В чем беда? Не пойму.
Смотрел примеры, вроде также...

Еще одна трабла непонятная.

Когда к девайсу не обращаешься минут 20 (примерно, точно не засекал), оно не отвечает.
FT_OpenEx/FT_Open дает ошибку.
Приходится отключать и повторно включать USB разъем.

Это что все USB девайсы такие? у меня есть USB-мыша. Тоже отключается. только не через 20 мин, а когда как.

На FT стоит EEPROM. Питание от шины.
Alex11
Что ьам с flow control, не знаю, а по поводу отключения проверь, как сконфигурено в PC управление питанием, не разрешено ли отключать USB устройства при паузе.
hd44780
А где это управление питанием сидит.
Рылся, рылся, не нашел ...
Asb
Возможно Ваши проблемы не в программе, а в помехах по шине USB. Сам налетал на подобное, првда с FT245BM.
Рекомендации от FTDI: http://www.ftdichip.com/Support/Knowledgeb...5workwhenco.htm полностью решили проблему, да и в любом случае на мой взгляд стоит использовать эту рекомендацию.
hd44780
Спасибо.
Управление питанием нашел, повыключал галочки "Разрешать отключать ...".
Если не поможет, буду ставить эти кондеры по FTDI-шным рекомендациям.
hd44780
Управление питанием не помогло.
Придется кондеры ставить...
GDI
Для справки: у меня переходник COM-USB на PL2303, купленный в магазине, тоже отключается через 20 минут.
И второе: аппаратный флоу контролл в виндах работает как-то коряво, он выставляет сигнал RTS и все... это я когда делал переходник rs232-rs485 напоролся( может просто плохо вкурил тему), но в итоге я сделал свой переходник без управления RTS.
Massi
была такая трабла...это помехи вырубают фтшку...драйвер криво писан...помехи рублю так....RC цепочка 50 Ом и 360 пФ последовательная....резистор на данные конденсатор на землю...пики срубает на три пятнадцать и не давит скорость передачи...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.