Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как работать с FTDI um245r как с COM-портом?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Интерфейсы
HighVoltageRocknRoll
Как работать с FTDI um245r как с COM-портом? Используя VCP драйвер.

Понял, что данное устройство эмулирует работу COM порта.
Вот только не понятно, в каком виде посылать информацию, что бы определенные уровни на ногах схемы вывесились.
Т.е. написал прогу, которая открывает/закрывает com порт, но вот как записать что-либо не пойму.
Все что читал по поводу протокола rs-232, про передачу информации через com порты, то там рассматривается только передача данных между компами (и все так славно и гладко у них происходит), а вот что касается этого устройства не нахожу.
XVR
Цитата(HighVoltageRocknRoll @ Aug 6 2015, 11:04) *
Понял, что данное устройство эмулирует работу COM порта.
Вот только не понятно, в каком виде посылать информацию, что бы определенные уровни на ногах схемы вывесились.
Это 'устройство' только программно выглядит как COM порт, на аппаратном уровне оно с COM портом ничего общего не имеет

Цитата
Т.е. написал прогу, которая открывает/закрывает com порт, но вот как записать что-либо не пойму.
WriteFile как и для всех
Цитата
Все что читал по поводу протокола rs-232, про передачу информации через com порты,
Забудьте.

Если вам нужен полный контроль над 245R - возьмите D2XX драйвер

HighVoltageRocknRoll
Цитата
возьмите D2XX драйвер

Да с этим вообще все как-то тухло.
Цитата
программно выглядит как COM порт

А мне программно и надо.
Цитата
WriteFile как и для всех

А что именно WriteFile
Вот, например, пишу в С++

AnsiString cmd;
cmd=...; //??????
WriteFile(hComPort,cmd.c_str(),4,&CountBytes,NULL);

А что именно мне записать (т.е. какое именно присвоить значение переменной cmd), что бы например выставилось значение 10000001 на ножках схемы?
XVR
Цитата(HighVoltageRocknRoll @ Aug 6 2015, 12:13) *
Вот, например, пишу в С++

AnsiString cmd;
cmd=...; //??????
WriteFile(hComPort,cmd.c_str(),4,&CountBytes,NULL);

А что именно мне записать (т.е. какое именно присвоить значение переменной cmd), что бы например выставилось значение 10000001 на ножках схемы?
Ничего. По умолчанию 245 работает как FIFO, т.е. все, что вы в него будете записывать будет выдано байт за байтом на выходную шину (при этом еще надо обеспечить необходимые управляющие сигналы, см DS).

Вам нужен режим bit bang, это можно только через D2XX включить (IMHO)

HighVoltageRocknRoll
Цитата
По умолчанию 245 работает как FIFO, т.е. все, что вы в него будете записывать будет выдано байт за байтом на выходную шину

До сих пор не совсем понимаю, что значит все, что я буду на него записывать.
Т.е. если я запишу число 5, то он выдаст на шину 00000101, а если запишу фразу: "Привет мир", то он каждый символ разложит в его двоичный код согласно ASCII и каждый байт последовательно передаст? Так получается или нет?

И если не сложно, то про управляющие сигналы можно поподробнее.
HighVoltageRocknRoll
Цитата
см DS

Что за DS. В даташите нет ничего такого?
zltigo
QUOTE (HighVoltageRocknRoll @ Aug 6 2015, 12:13) *
Да с этим вообще все как-то тухло.

Тогда зайтесь другим делом, ну зачем Вам электроника сдалась, если десяток страниц описания работы с D2XX драйвером/DLL "тухло".
Или читаем http://www.ftdichip.com/Support/Documents/...(FT_000071).pdf или не морочим голову ни себе ни людям.
HighVoltageRocknRoll
Цитата

Уже читали, и не я один. Так что не надо мне тут из себя особо умного гнать.
Что там написано дельного? Ну что? Сами то читали? Или нашли что-то и рады тыкать.
Что 245r может по двум протоколам управляться (но одновременно лишь по одному), что можно драйвера D2XX с офсайта скачать. Ну скачал я эту папочку, и что дальше. Вот конкретно, раз такой умный давай по порядку. Что с ней даль делать. Для чего там каждый файл нужен? Что за dpinst-x86? В вашем мануале, там нифига про это нет. Файлов ftd2xx.lib там аж по 2 штуки для каждой разрядности ОС. Какой из них подключать? Любой? Подключил, а компилятор на оба ругается. Вот сиди и думай, что такое? А вот что: http://www.ftdichip.com/Support/Knowledgebase/index.html
Вот надо весь сайт облазить, что бы понять, что разработчики не удасужились нормальную версию драйверов сделать для c++ builder. Ладно, поехали дальше, ищем эту утилиту IMPLIB. С горе пополам находим её, запускаем и что видим? А нифига не видим. Открывается консоль и закрывается. И опять я должен лезть, искать описание как теперь этой штукой пользоваться. Если для вас этот геморрой норма, то для меня это издевательство над потребителем.
Что дальше, садиться изучать visual studio, ради одной микросхемки. А завтра они и под эту среду не напишут дров, и что тогда.
И что в итоге там есть: введение на пол странички, в котором информации ноль и описание команд. И все.
Вот эта фраза вообще напрочь убила:
Цитата
FTDI does not provide documentation on how to communicate with the VCP driver from an application

если лень было писать на эту функцию документацию, то зачем её предусматривать? А мне может только она и нужна. Вот опять с офсайта:
Цитата
Application software can access the USB device in the same way as it would access a standard COM port.

Вот только опять не учли, что все что написано по стандартным com портам, касается передачи данных между компами. А у меня на другом конце провода не комп, и я спрашиваю, что мне записывать туда, что бы что-то определенное получить?
Такое ощущение, что специально информацию утаивают. Прям какие-то сверх коммерческие секреты. Что у программистов с их кодами, что тут у электронщиков со схемками.
Что преподы в универе были, каждое слово тисками из них вытаскивали, что тут так же.
Если знаешь как общаться с этой штукой, так возьми и объясни людям.
zltigo
QUOTE (HighVoltageRocknRoll @ Aug 7 2015, 08:15) *
Что там написано дельного?

Абсолютно все.
QUOTE
Ну что?

Ну и все.
QUOTE
Сами то читали?

Да, конечно. И читал и работал.
QUOTE
раз такой умный давай по порядку....

Требовать будете у своей мамки сиську. У меня не выйдет.
Если хотите - учитесь. Начните с того, что такое DLL. А там, глядишь и поймте, что никаких "библиотек" ни для борланда-урода, ни для любого компиятора писать производителю чипа не надо, ибо DLL это и есть библиотека. Так-что нужно все-же ЗНАТЬ свой инструмент и просто импортировать из нее библиотеку для ЛЮБОГО линкера. Так-что о незнании, что такое за implib и как с ней работать, это Вы ТОЛЬКО СЕБЕ притензии можете передавлять, на худой конец борланду, но никак ни FTDI. Можете только сказать FTDI БОЛЬШОЕ спасибо, что для недоучек хоть как-то указала с какого конца "программистам" матчасть компиляторов изучать начинать.
QUOTE
Такое ощущение, что специально информацию утаивают.

Все абсолютно подробно разжевано в помянутом документе. Все вызовы функций расписаны аж с кусками исходников. Даже не представляю что еще надо было сделать FTDI? Запихнуть разжеваное "программисту" прямо в анус, дабы его голова вообще процессе никак не участвовала?
HighVoltageRocknRoll
Цитата
но никак ни FTDI.

Именно им. Им заплатили деньги за это уродство, так что пусть пишут как им пользоваться нормальным языком.

Цитата
Ну и все

Что все? Где конкретика?

Цитата
Все вызовы функций расписаны аж с кусками исходников.

Прежде чем какие-то функции расписывать, надо сначала подключиться к устройство. Где про это разжевано?
Есть такое понятие -методика. В FTDI о нем явно не слышали. И вам наверное оно не известно.
Мне приходилось видеть нормальные программерские мануалы, в которых расписана методика работы, в частности методика подключения. И занимает она не 1 абзац, а страницы 2-3. Вот это называется разжевано.
Так что если можете помочь с подключением помогите. Не хотите, не пишите ничего. Но самоутверждаться на основе того, что вы знаете что-то а кто-то не знает не надо.
XVR
Цитата(HighVoltageRocknRoll @ Aug 6 2015, 13:40) *
Что за DS. В даташите нет ничего такого?

Как все запущенно crying.gif

DS - http://www.ftdichip.com/Support/Documents/...s/DS_FT245R.pdf страница 14. Подробная диаграмма того, что будет происходить на ногах микросхемы на каждый записанный в нее байт

Вам же нужен bit bang mode ( http://www.ftdichip.com/Support/Documents/...-01_BitBang.pdf )

Цитата
Прежде чем какие-то функции расписывать, надо сначала подключиться к устройство. Где про это разжевано?

http://www.ftdichip.com/Support/Documents/...T_000071%29.pdf страница 19

Цитата
А вот что: http://www.ftdichip.com/Support/Knowledgebase/index.html
Вот надо весь сайт облазить, что бы понять, что разработчики не удасужились нормальную версию драйверов сделать для c++ builder. Ладно, поехали дальше, ищем эту утилиту IMPLIB. С горе пополам находим её, запускаем и что видим? А нифига не видим. Открывается консоль и закрывается. И опять я должен лезть, искать описание как теперь этой штукой пользоваться.
Это самые что ни на есть азы программирования в мире Windows в общем и использования Builder и консольных утилит в частности. Если для вас это такой геморрой, то похоже что уровень вашей подготовки не позволит использовать эту микросхему, увы smile3046.gif Подтяните сначала матчасть biggrin.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.