Цитата
И ещё. А как подключится к своему девайсу из своей проги, т. е. что надо прописать в дельфи (с++), чтоб организовать передачу данных через этот любимый USB?
ну читать же надо, всего неск. сообщений выше:
Цитата
Дальше - на это имя натравливается CreateFile, а потом в полученный рэндл можно просто читать и писать.
вот так примерно:
hOut := CreateFile (
'?usb#vid_7104&pid_6806#pdi-usbd_v0.3#{00873fdf-61a8-11d1-aa5e-00c04fb1728b}PIPE01',
GENERIC_READ or GENERIC_WRITE,
FILE_SHARE_READ or FILE_SHARE_WRITE,
nil, // no SECURITY_ATTRIBUTES structure
OPEN_EXISTING, // No special create flags
0, // No special attributes
0); // No template file
а потом вот так:
var
buf_out, buf_in: array [0..255] of char;
bLen: dword;
begin
StrPCopy (buf_out, Edit1.Text);
bLen := 0;
if WriteFile (hOut, buf_out [0], 10, bLen, nil) then
Memo1.Lines.Add (format ('Записано %d байт', [bLen]))
в этом куске первые 10 байт из массива buf_out запишуться в "трубу" pipe01 - что там с ними контроллер сделает - это зависит от протокола работы контроллера, а со стороны делфи это все (ну и CloseHandle надо еще сделать в конце конечно)
а для чтения из усб надо еще один файл открыть, только у него будет имя другое: ?usb#vid_7104&pid_6806#pdi-usbd_v0.3#{00873fdf-61a8-11d1-aa5e-00c04fb1728b}
PIPE00
з.ы. да, а имя я не получал программно, а "зашил" готовое
з.з.ы. DDK я
качал отсюда