Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отправка 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),...


Наверх

Титульная страница Поиск, карта сайта Написать письмо