![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отправка 1 байта через com-порт [D7, WinXP]
Rubi © (2007-09-07 01:06:00)мне надо отправить через порт один байт. Я пользуюсь стандартной функцией WriteFile(hPort,MyBuff,Length(Str),ByteWritten,Nil) где mybuff-массив char. Когда я отправляю 1, он отправляет символ единицы, а мне нужен именно один байт. Там просто контроллер с ассемблером, а для вызова функции надо подать байт $01.
tesseract (2007-09-07 10:42:00) [1]
> SetLength(MyBuff,1); MyBuff[0]:=#1; WriteFile(hPort,MyBuff[0],
> Length(MyBuff),...
var
MyBuff:array[0..255] of byte;
MyBuff[0]:=1;
iToWrite:=1
WriteFile(hPort,MyBuff[0],iToWrite,...
Чтобы каждый раз SetLength не вызывать. Уж больно много проца сжирает.
Германн (2007-09-07 01:42:00) [2]
> Rubi (07.09.07 01:06)
>
> мне надо отправить через порт один байт. Я пользуюсь стандартной
> функцией WriteFile(hPort,MyBuff,Length(Str),ByteWritten,
> Nil) где mybuff-массив char. Когда я отправляю 1, он отправляет
> символ единицы, а мне нужен именно один байт. Там просто
> контроллер с ассемблером, а для вызова функции надо подать
> байт $01.
>
Это пардон как? Отправляешь данные из MyBuff, а длину берешь у Str?
Откуда содрал пример? :-)
var
MyBuff : array of Char;
...
SetLength(MyBuff,1);
MyBuff[0]:=#1;
WriteFile(hPort,MyBuff[0],Length(MyBuff),...