Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Смотри в примере:

Отправлено Гудвин (78.138.170.164) 22 августа 2010, г. 03:45
В ответ на: Можно "тупо" - периодически вызывать метод CountRX и, если во входном буфере есть данные, читать их побайтно. Но правильнее использовать встроенные механизмы компонента - использовать обработчик события OnReceiveData. Оно возникает когда в буфере есть данные. отправлено Гудвин 22 августа 2010, г. 03:41

procedure TMainForm.cpDrvReceiveData(Sender: TObject; DataPtr: Pointer;
DataSize: Cardinal);
var iLastLine, i: integer;
s, ss: string;
begin
// Convert incoming data into a string
s := StringOfChar( ' ', DataSize );
move( DataPtr^, pchar(s)^, DataSize );
// Exit if s is empty. This usually occurs when one or more NULL characters
// (chr(0)) are received.
while pos( #0, s ) > 0 do
delete( s, pos( #0, s ), 1 );
if s = '' then
exit;
// Remove line feeds
i := pos( #10, s );
while i <> 0 do
begin
delete( s, i, 1 );
i := pos( #10, s );
end;


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 76:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru