(Borland C++Builder 6) [Статья 11] (TxRxV1)(Driver)(Поток)(Параллелизм)(stdio)(C/C++)

| 27.02.2016

(Borland C++Builder 6) [Статья 11] (TxRxV1)(Driver)(Поток)(Параллелизм)(stdio)(C/C++)

 

 

Описание :
Мы можем сделать алгоритм получения и отправки пакетов немного другим. Раньше уже была представлена библиотека (DAH_KanalLib_V1.h), позволяющая отправлять и принимать пакеты. Эта библиотека имеет все что нужно для информационного обмена с подключенным устройством, но мы попробуем немного поменять концепцию работы с пакетами данных. Наше изменение приведет к тому, что мы избавимся от ф-ии приема пакета, а именно, заменим принцип приема пакетов на событие (event), нами созданного класса.

Такое изменение может как упростить, так и усложнить нам жизнь. Все зависит от специфики решаемой задачи, поэтому такое изменение может быть излишним. Для того что бы сделать в своем классе(event), мы постоянно опрашиваем нашу микросхему и пытаемся найти пакет, если пакет нашелся то вызывается  обработчик события по приему пакета, тело которого описал пользователя и передал на него указатель в наш класс.

Для упрощения маштабирования проекта можно скрыть аспекты реализации некоторых алгоритмов. Такой подход также может иметь цель защитить интеллектуальную собственность разработчика, предоставляющего пользователю функции в виде прототипов и описания, но без описания реализации этих функций(.с/.cpp). Мы можем все скрыть, засунув все файлы в библиотеку(.lib), как это сделать показано в видео к статье.

Статьи в помощь :
Уроки (C/C++) в Builder6

Это часть цикла взаимосвязанных статей TxRxV1:
1) (Borland C++Builder 6) [Статья 6] (TxRxV1)(SLIP)(ESC)(ESC)(Обмен)(Протокол)(C/C++)
2) (Borland C++Builder 6) [Статья 7] (TxRxV1)(FTDI)(ftd2xx)(FT_Write)(FT_Read)(Обмен)(C/C++)
3) (Borland C++Builder 6) [Статья 8] (TxRxV1)(CRC)(Контрольная сумма)(Обмен)(C/C++) 
4) (Borland C++Builder 6) [Статья 9] (TxRxV1)(Канал)(Протокол)(Связь)(Обмен)(C/C++) 
5) (Borland C++Builder 6) [Статья 10] (TxRxV1)(FILE)(Process)(Tread)(stdio)(C/C++)
6) (Borland C++Builder 6) [Статья 11] (TxRxV1)(Driver)(Поток)(Параллелизм)(stdio)(C/C++) 
7) (Borland C++Builder 6) [Статья 12] (TxRxV1)(Buf)(FIFO)(LIFO)(Pocket)(C/C++)
8) (Borland C++Builder 6) [Статья 13] (TxRxV1)(TestUse)(AVR)(uart)(Tx/Rx)(C/C++)
9) (Borland C++Builder 6) [Статья 14] (TxRxV1)(TestUse)(STM32)(uart)(Tx/Rx)(C/C++)

Библиотека DAH_DriverV1.h (ссылка на скачивание)

DAH_DriverV1.h

DAH_DriverV1.cpp

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *