MotorControlModuleSDFM_TMS3.../Projects/EFC_Communication/UMLibrary/peripheral/IGpio.hh
2024-06-07 11:12:56 +03:00

47 lines
1.5 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* IGpio.h
*
* Created on: 20 окт. 2016 г.
* Author: titov
*/
#ifndef SOURCE_PERIPHERAL_IGPIO_H_
#define SOURCE_PERIPHERAL_IGPIO_H_
namespace peripheral {
/*! \brief Интерфейс для штатной работы с дискретным вводом/выводом.
* \details Предоставляет функции для чтения/записи в порт ввода/вывода.
*
* Дискретным вводом/выводом является любой вывод любой микросхемы доступный
* для считывания или формирования дискретного уровня напряжения из ПО.
*
*/
struct IGpio {
/*! \brief Функция устанавливает на выводе логическое состояние.
* \param[in] value - Состояние на выводе.
*/
virtual void write(bool value) = 0;
//! Функция устанавливает на выводе логическую единицу.
virtual void set() = 0;
//! Функия устанавливает на выводе логический ноль.
virtual void clear() = 0;
//! Функция переключает значение на выводе.
virtual void toggle() = 0;
/*! \brief Функция считывает значение на выводе.
* \return Состояние на выводе.
*/
virtual bool read() const = 0;
virtual ~IGpio() = default;
};
} /* namespace peripheral */
#endif /* SOURCE_PERIPHERAL_IGPIO_H_ */