Отговори на тема  [ 10 мнения ] 
LPT на BORLAND C++ BUILDER 6 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Ное 28, 2005 10:49 am
Мнения: 86
Местоположение: Русе
Мнение LPT на BORLAND C++ BUILDER 6
Опитвам се да свържа няколко релета към PC-тo директно с кабел "USB-PARALLEL PORT" но не мога да открия как да си изпратя байт към порта от страна на PC-то. Та въпросът ми е как да комуникирам (то по скоро запис, аз няма какво да чета) с паралелния порт на BORLAND C++ BUILDER 6.
Благодаря.


Съб Юли 19, 2008 10:26 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 9:59 pm
Мнения: 6019
Местоположение: София
Мнение 
http://www-user.tu-chemnitz.de/~heha/ba ... faq.htm.en
Пробай с FT232RL или ATtiny2313.

_________________
Warriors of the Night, ASSEMBLER!!!


Съб Юли 19, 2008 7:17 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Яну 19, 2007 9:16 am
Мнения: 1063
Местоположение: путинофили: "иди н***й"
Мнение Re: LPT на BORLAND C++ BUILDER 6
leotron написа:
Опитвам се да свържа няколко релета към PC-тo директно с кабел "USB-PARALLEL PORT" но не мога да открия как да си изпратя байт към порта от страна на PC-то. Та въпросът ми е как да комуникирам (то по скоро запис, аз няма какво да чета) с паралелния порт на BORLAND C++ BUILDER 6.
Благодаря.


Виж:
CreateFile("\\\\.\\LPT1", ...
WriteFile ...

_________________
путинофили: "иди н***й"


Съб Юли 19, 2008 7:39 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Ное 28, 2005 10:49 am
Мнения: 86
Местоположение: Русе
Мнение 
Нещо пропускам явно. Опитвам се по най-простия начин да накарам това животно да включва и изключва - не ще и това е. Има ли нещо което не правя както трябва.


Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
unsigned long NumBytesWritten;
unsigned char  Data = 0x00;
Lpt1Han = CreateFile("\\\\.\\NONSPOOLED_LPT1", GENERIC_WRITE | GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN,
NULL);
  if (Lpt1Han)
  {
    WriteFile(Lpt1Han,  &Data, 1, &NumBytesWritten, NULL);
   CloseHandle(Lpt1Han);
  }
}


void __fastcall TForm1::Button2Click(TObject *Sender)
{
unsigned long NumBytesWritten;
unsigned char  Data = 0xFF;
Lpt1Han = CreateFile("\\\\.\\NONSPOOLED_LPT1", GENERIC_WRITE | GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN,
NULL);

  if (Lpt1Han)
  {
    WriteFile(Lpt1Han,  &Data, 1, &NumBytesWritten, NULL);
     CloseHandle(Lpt1Han);
  }
}



Нед Юли 20, 2008 7:17 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 26, 2005 2:01 pm
Мнения: 1952
Местоположение: Варна
Мнение 
А как разбираш, че нищо не става?
С WriteFile, PC-то ще изстреля байта към LPT. Отвън на порта преди релетата имаш ли някакъв вид регистри, които да запомнят изпратения байт?

_________________
Най-опасният враг на истината и свободата е мнозинството.


Нед Юли 20, 2008 8:00 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 9:59 pm
Мнения: 6019
Местоположение: София
Мнение 
leotron
NONSPOOLED_LPT1 предполагам че това ти е паралелния порт на дъното на адрес 0x378 - loopback имаш ли?
"USB-PARALLEL PORT" това в какъв контекст го споменаваш?
PS. Потърси в профила ми ICQ-то ми може и да успея да ти помогна.

_________________
Warriors of the Night, ASSEMBLER!!!


Нед Юли 20, 2008 8:23 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Ное 28, 2005 10:49 am
Мнения: 86
Местоположение: Русе
Мнение 
Zdrav написа:
А как разбираш, че нищо не става?
С WriteFile, PC-то ще изстреля байта към LPT. Отвън на порта преди релетата имаш ли някакъв вид регистри, които да запомнят изпратения байт?

Свързах 8 светодиода към изходите на LPT-то. Нямам никакви регистри- директно. С тая програмка всичко си е ОК- светодиодите си светят постоянно в зависимост от числото което съм записал. С моя пример обаче не искат. Според мен може и без регистър.


Нед Юли 20, 2008 9:12 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Ное 28, 2005 10:49 am
Мнения: 86
Местоположение: Русе
Мнение 
ike написа:
leotron
NONSPOOLED_LPT1 предполагам че това ти е паралелния порт на дъното на адрес 0x378 - loopback имаш ли?
"USB-PARALLEL PORT" това в какъв контекст го споменаваш?
PS. Потърси в профила ми ICQ-то ми може и да успея да ти помогна.


Пробвах с "\\\\.\\LPT1" и "LPT1" зацикля на WriteFile() и до там. Единствено с "NONSPOOLED_LPT1" успявам да направя най-дорото за сега. Мислех да си вземам кабел "USB-PARALLEL PORT", защото на нотбука нямам ЛПТ, но първо реших да пробвам с ЛПТ-то на настолното PC (windows XP).


Нед Юли 20, 2008 9:19 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 26, 2005 2:01 pm
Мнения: 1952
Местоположение: Варна
Мнение 
leotron написа:
Свързах 8 светодиода към изходите на LPT-то. Нямам никакви регистри- директно. С тая програмка всичко си е ОК- светодиодите си светят постоянно в зависимост от числото което съм записал. С моя пример обаче не искат. Според мен може и без регистър.

Програмката, която посочваш не използва методи като WriteFile. Прочети какво пише на този сайт за директна работа с LPT под XP.
http://beyondlogic.org/
Обърни внимание по колко различни начина може да се конфигурира и работи с паралелния порт. "USB-LPT" не бързай да си купуваш. По-добрия вариант е FTDI.

_________________
Най-опасният враг на истината и свободата е мнозинството.


Нед Юли 20, 2008 10:44 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Ное 28, 2005 10:49 am
Мнения: 86
Местоположение: Русе
Мнение 
Zdrav написа:
leotron написа:
Свързах 8 светодиода към изходите на LPT-то. Нямам никакви регистри- директно. С тая програмка всичко си е ОК- светодиодите си светят постоянно в зависимост от числото което съм записал. С моя пример обаче не искат. Според мен може и без регистър.

Програмката, която посочваш не използва методи като WriteFile. Прочети какво пише на този сайт за директна работа с LPT под XP.
http://beyondlogic.org/
Обърни внимание по колко различни начина може да се конфигурира и работи с паралелния порт. "USB-LPT" не бързай да си купуваш. По-добрия вариант е FTDI.

Благодаря за инфото, реших проблема - използвм FTDI, всичко е ОК.


Сря Юли 30, 2008 3:39 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 10 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни