Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 08.11.2010
Сообщений: 7
1

FTDI и winapi

14.03.2011, 10:50. Показов 3389. Ответов 4
Метки нет (Все метки)

Здравствуйте господа у меня проблема которую не могу решить не как.
Написал программу которая принимает данные с устройства (микросхема FTDI FT232) и записывает их в базу данных. для отладки программы использовал два виртуальных com соединённые нульмодемным кабелем. Все работало замечательно пока не попробовал подключится к реальному устройству. проблема возникла на стадии открытия com порта
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
DWORD           sz;
 UnicodeString BuildComm;
 
NamePort=Form2->ComboBox1->Text;
 
dcb=(DCB*)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(DCB));
dcb->DCBlength=sizeof(DCB);
 
BuildComm="baud="+Form2->ComboBox2->Text+" parity=N data=8 stop="+Form2->ComboBox3->Text;
BuildCommDCB(BuildComm.t_str(),dcb);
 
ct.ReadIntervalTimeout=10;
ct.ReadTotalTimeoutMultiplier=ct.ReadTotalTimeoutConstant=100;
ct.WriteTotalTimeoutMultiplier=ct.WriteTotalTimeoutConstant=10;
 
port=CreateFile(NamePort.t_str(),GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,NULL);
if(port==INVALID_HANDLE_VALUE)
        {
        Form3->Memo1->Lines->Add(TimeToStr(Now())+": Невозможно открыть порт "+NamePort);
        //ExitProcess(1);
        }
else
        {
        Form3->Memo1->Lines->Add(TimeToStr(Now())+": "+NamePort+" порт открыт");
        reader=new ReadThread(false);
 
        if(port!=0)
        {
        N4->Enabled=false;
        N5->Enabled=true;
        }
        //Form1->Caption=NamePort;
        }
может есть какой-то нюанс работы с драйвером который эмулирует com порт.
программы терминалы подключаются нормально, а вот моя не как не хочет
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.03.2011, 10:50
Ответы с готовыми решениями:

Помогите с FTDI
Делаю апгрейд старого (но хорошего) прибора, есть об этом. Прошу помощи зала в частном вопросе,...

Спалил ли FTDI?
Всем привет! Накануне случайно подал +12В на пины GND, находящиеся слева от потенциометра с...

FTDI BitBang
Решил собрать такой программатор по схеме с сайта. 74HC244 не нашлось, поставил 74ALS245AN, развёл...

FTDI - TTY
Здравствуйте все! Вопрос по FTDI контроллеру. Существует такая схема преобразователя RS232-TTY...

4
61 / 60 / 9
Регистрация: 13.01.2009
Сообщений: 322
14.03.2011, 11:17 2
Подключить устройство через COM-порт и отправить на него данные
Вот тема хорошая про ком порты
0
0 / 0 / 0
Регистрация: 08.11.2010
Сообщений: 7
14.03.2011, 11:53  [ТС] 3
Блин чуть голову не сломал об эту проблему. а оказалось что winapi не хочет работать с портами номер которых больше 9. А у меня как раз COM10 был. поставил на 8 все заработало!!!
0
61 / 60 / 9
Регистрация: 13.01.2009
Сообщений: 322
14.03.2011, 12:58 4
gorillka, Если можно, выложи исходники по работе с этой микрухой. интересуюсь
0
10 / 10 / 4
Регистрация: 14.08.2010
Сообщений: 103
14.03.2011, 21:01 5
Цитата Сообщение от gorillka Посмотреть сообщение
Блин чуть голову не сломал об эту проблему. а оказалось что winapi не хочет работать с портами номер которых больше 9. А у меня как раз COM10 был. поставил на 8 все заработало!!!
А если так:
C++
1
port=CreateFile("\\\\.\\COM10", GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING,  FILE_FLAG_OVERLAPPED, NULL);
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.03.2011, 21:01

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Пример FTDI в QT
Здравствуйте, стоит задача : - просканировать USB устройства , подключиться к какому-либо из них...

Проблема с FTDI
Здравствуйте, случилась такая беда перестал определятся Pinboard компьютером, причем когда как...

Не отвечает FTDI.
Получил платку, наконец-то дошли ручки попробовать, открыл быстрый старт, воткнул кабель, а в ответ...

ATmega->FTDI->PC
Сейчас будет мегадетский вопрос. С фотодиодов инфа идет на ацп Атмеги8535, она кидает на FT232BM...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.