Страница 2 из 2
Re: программа на delphi для FT232
Добавлено: Чт янв 05, 2012 10:13:34
witia03
Re: программа на delphi для FT232
Добавлено: Пт янв 06, 2012 04:27:38
Magadan69
Спасибо сам разобрался. Просто по неопытности дал кнопке имя, такое-же как и функция. Вот у компилятора "крышу и сдуло". А можно тогда другой вопрос. Так как у FT232R и FT245R внутренний ЕЕПРОМ не трется функцией "FT_EraseEE". То не покажет-ли кто дамп (не епт-файл), от микросхем "чистых с завода"?
Хочу все-таки эту функцию имитировать в своей проге, как-будто стираю.
Re: программа на delphi для FT232
Добавлено: Пт фев 03, 2012 12:54:55
Alexeyslav
стирание EEPROM - это занесение $FF в каждую её ячейку. Так устроены FLASH-ячейки, в стертом состоянии держат "1", в запрограммированном(есть заряд в ячейке) - "0".
Re: программа на delphi для FT232
Добавлено: Ср май 09, 2012 19:47:08
guagel
Всем доброго времени суток. Ранее делал устройство на ATmega16, отправляющее данные в COM-порт компьютера. Со стороны компьютера работала программа на Delphi, которая принимала и сохраняла полученные данные.
Ныне у меня есть отладочная плата - связка ATmega328 + FT232RL. В случае с прямым подключением меги16 к компу было всё понятно - настроил скорость UART на меге, настроил скорость в программе на компе и всё ОК. А как работать в связке "микроконтроллер-FT232RL-виртуальный COM-порт" мне не понятно. Вдобавок ATmega328 отладочной платы подключена к кварцу 16Мгц. Как настраивать скорости? Предположим, на контроллере я выставляю скорость 250000бот, как такую скорость выставить на компе?

В общем, поясните, как с этим всем работать.

FT232RL + Delphi 7
Добавлено: Ср апр 10, 2013 00:02:41
servo
Мяу
Cпаял, подключил переходник USB->COM на основе FT232RL, установил драйвер . Работает , написал небольшую прогу на Delphi для теста связи, как отправлять посылки и принимать я разобрался, все работает. Подергал ножкой RTS, тоже получилось почти сразу. А вот узнать состояние ножек CTS, DSR, RI, DCD не получается

пробовал и +5 на ноги подавать и на GND их сажать, не выходит нечего.
вот так я пишу в Delphi
Код: Выделить всё
procedure TForm1.btn_read_pinClick(Sender: TObject);
var
I: Integer;
begin
I:=Get_USB_Device_ModemStatus;
mmo1.Lines.Add(IntToStr(I));
end;
может кто сталкивался с такой проблемой

Re: FT232RL + Delphi 7
Добавлено: Ср апр 10, 2013 06:34:27
igor-x
скачайте лучше готовую бесплатную библиотеку для работы с СОМ портом (работает в дельфи и C Builder)
поищите:
ComPort Library
2.63.1
Author information
Name: Dejan Crnila
Year of birth: 1978
Occupation: Student of computer and information science in University of Ljubljana
E-mail:
dejancrn@yahoo.com
Home page:
http://www2.arnes.si/~sopecrni
Home address: Dolenja vas 111, 3312 Prebold, SLOVENIA
Re: FT232RL + Delphi 7
Добавлено: Ср апр 10, 2013 07:55:16
Леонид Иванович
servo писал(а):А вот узнать состояние ножек CTS, DSR, RI, DCD не получается

А что это за функция такая Get_USB_Device_ModemStatus? Ftd2xx.dll имеет функцию FT_GetModemStatus(FT_HANDLE ftHandle, ULONG *pModemStatus), ей нужно и пользоваться.
Re: FT232RL + Delphi 7
Добавлено: Ср апр 10, 2013 22:13:58
servo
Леонид Иванович писал(а):servo писал(а):А вот узнать состояние ножек CTS, DSR, RI, DCD не получается

А что это за функция такая Get_USB_Device_ModemStatus? Ftd2xx.dll имеет функцию FT_GetModemStatus(FT_HANDLE ftHandle, ULONG *pModemStatus), ей нужно и пользоваться.
вот она...
Код: Выделить всё
Function Get_USB_Device_ModemStatus : FT_Result;
Begin
Result := FT_GetModemStatus(FT_Handle,@FT_Modem_Status);
If Result <> FT_OK then FT_Error_Report('FT_GetModemStatus',Result);
End;
мож чего не так делаю?
FT232RL+delphi7
Добавлено: Ср апр 10, 2013 22:49:31
DIMA040891
Доброго времени суток. Накидал простейшую программу для передачи байта с USB>FT232RL. Для проверки соединил перемычкой пины TXD RXD. но, у вы ничего не получилось

Кто разбирается глянте пожалуйста, подскажите где ошибка или в чем еще может быть проблема.
Re: FT232RL + Delphi 7
Добавлено: Ср апр 10, 2013 23:02:14
Леонид Иванович
Функция FT_GetModemStatus возвращает только "OK" или код ошибки, а само состояние модемных линий нужно потом читать из переменной FT_Modem_Status.
Re: FT232RL+delphi7
Добавлено: Чт апр 11, 2013 08:49:59
mr_smit
Так в порт ничего не передается. Поэтому и не работает. На вскидку как то так, сейчас уже не помню.
Код: Выделить всё
procedure TForm1.Button2Click(Sender: TObject);
var
Buffer:PChar;
NumberOfBytesReaded:DWord;
begin
WriteFile(hPort, chr('A'), 1, 1, nil);
ReadFile(hPort, Buffer, 1, NumberOfBytesReaded, nil);
label1.Caption:=Buffer;
end;
Скачай готовый компонент для работы с com портом и используй его. Будет проще.
Re: программа на delphi для FT232
Добавлено: Чт апр 11, 2013 19:59:38
DIMA040891
Переделал(см. архив). Но все равно не работает, пытаюсь передать число 25 а принимаю 4359820. Причем не важно подключено устроийство к USB или нет....

Re: FT232RL + Delphi 7
Добавлено: Пт апр 12, 2013 00:02:29
servo
Леонид Иванович писал(а):Функция FT_GetModemStatus возвращает только "OK" или код ошибки, а само состояние модемных линий нужно потом читать из переменной FT_Modem_Status.
Спасибо !
завтра, а точнее сегодня днем попробую

Re: FT232RL + Delphi 7
Добавлено: Вс апр 14, 2013 12:31:17
servo
Леонид Иванович писал(а):Функция FT_GetModemStatus возвращает только "OK" или код ошибки, а само состояние модемных линий нужно потом читать из переменной FT_Modem_Status.
Спасибо ! Работает

Re: программа на delphi для FT232
Добавлено: Вс апр 14, 2013 23:38:53
DIMA040891
Ребята кто может помочь? вопрос ВСЕ ЕЩЕ ОЧЕНЬ АКТУАЛЕН!!!
Re: программа на delphi для FT232
Добавлено: Вт апр 16, 2013 14:43:44
Alexeyslav
Что передаешь, что принимаешь, как это делаешь, ошибки обрабатываешь?
Ага, я так и понял... тебе надо почитать на тему указателей в делфи. и ВНИМАТЕЛЬНО посмотреть на типы параметров WriteFile, ReadFile...
Еще прикалывает CloseHandle(hPort) в обработчике FormCreate...
Короче все ошибки что можно было бы сделать ты благополучно сделал...
открыл порт, настроил и закрыл... и после ЭТОГО пытаешься с ним работать?
еще вопрос на засыпку: чему равен Size при вызове WriteFile, ReadFile ? Это такие простые ошибки, что компилятор исходит от ругательств по поводу возможных ошибок, а ты эти советы упорно игнорируешь.
В твоем случае, переменная Size - локальная и НИКАК НЕ ИНИЦИАЛИЗИРОВАНА, но это еще не приводит к AV потому что сами функции не выполняются т.к. ты им подсовываешь уже не валидный hPort. Они завершаются с ошибкой которую ты тоже игнорируешь.