38 lines
1.4 KiB
C++
38 lines
1.4 KiB
C++
|
|
/*
|
|||
|
|
* ISerialPort.h
|
|||
|
|
*
|
|||
|
|
* Created on: 10 июн. 2019 г.
|
|||
|
|
* Author: krugliy
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
#ifndef SOURCE_PERIPHERAL_ISERIALPORT_H_
|
|||
|
|
#define SOURCE_PERIPHERAL_ISERIALPORT_H_
|
|||
|
|
|
|||
|
|
|
|||
|
|
namespace peripheral {
|
|||
|
|
|
|||
|
|
//transmite - возвращает true, если фрэйм может быть немедленно отправлен.
|
|||
|
|
//transmite можно вызвать несколько раз подряд, и с помощью функции receive прочитать данные
|
|||
|
|
//полученные как ответ на последний transmite вернувший true.
|
|||
|
|
|
|||
|
|
//receive - прочитать данные, полученные как ответ на последний transmite вернувший true.
|
|||
|
|
//Это означает, что прочитать данные без предшествующего transmite, вернувшего true, не получится
|
|||
|
|
|
|||
|
|
class ISerialPort {
|
|||
|
|
public:
|
|||
|
|
virtual bool transmite( const void * bit_stream, int bit_count ) = 0;
|
|||
|
|
virtual bool receive( void * data ) = 0;
|
|||
|
|
//поскольку реализация по любому должна знать сколько ожидает байт в ответ,
|
|||
|
|
//то может реализовать и эту функцию
|
|||
|
|
virtual bool isDataReady() = 0;
|
|||
|
|
|
|||
|
|
// virtual void reset() = 0;
|
|||
|
|
|
|||
|
|
virtual ~ISerialPort() {}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
#endif /* SOURCE_PERIPHERAL_ISERIALPORT_H_ */
|