37 lines
783 B
C++
37 lines
783 B
C++
#ifndef _GPIO_CLASS_H_
|
|
#define _GPIO_CLASS_H_
|
|
#include <stdint.h>
|
|
enum GPIO_MODE : uint32_t {
|
|
GPIO_Speed_In = 0u,
|
|
GPIO_Speed_10MHz = 1u,
|
|
GPIO_Speed_2MHz = 2u,
|
|
GPIO_Speed_50MHz = 3u,
|
|
};
|
|
enum GPIO_CNF : uint32_t {
|
|
GPIO_AI_PPO = 0u,
|
|
GPIO_FI_ODO = 1u << 2,
|
|
GPIO_UPDI_MPPO = 2u << 2,
|
|
GPIO_none_MPDO = 3u << 2,
|
|
};
|
|
enum GPIOPuPd_TypeDef {
|
|
GPIO_PuPd_NOPULL = 0x00,
|
|
GPIO_PuPd_UP = 0x01,
|
|
GPIO_PuPd_DOWN = 0x02
|
|
};
|
|
|
|
class GpioClass {
|
|
//const uint32_t pin;
|
|
public:
|
|
explicit constexpr GpioClass (const uint32_t _pin, const uint32_t _mode = GPIO_AI_PPO) noexcept
|
|
{
|
|
}
|
|
void operator<< (const bool b) const {
|
|
}
|
|
operator bool () const {
|
|
return false;
|
|
}
|
|
void setPuPd (GPIOPuPd_TypeDef p) {
|
|
}
|
|
};
|
|
|
|
#endif // _GPIO_CLASS_H_
|